新手:闲置的python d

2024-10-01 02:32:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我觉得有兔子在发帖问这个问题,但我不继续了,因为: 我的这段代码有什么问题:

当我在收到的“如果”后面加上东西时:

IndentationError: unindent does not match any outer indentation level

例如,如果我将“cont=3”放在“if”之后“post=form2.save(commit=False)”之前,我会收到:

File "/home/douglas/Documentos/Django/my-second-blog/site_/app/views.py", line 59 post = form2.save(commit=False) ^ IndentationError: unindent does not match any outer indentation level

如果我在“post=form2.save(commit=False)”前面放上相同的表达式,我会收到:

File "/home/douglas/Documentos/Django/my-second-blog/site_/app/views.py", line 59 cont = 3 ^ TabError: inconsistent use of tabs and spaces in indentation

代码:

def evaluation(request):
    # form2 initialization
    list_evaluation = Evaluation.objects.all()
    form2 = EvalForm()
    cont = 0

    if request.method == "POST":
        form2 = EvalForm(request.POST)
        if form2.is_valid() == True:
            cont = 3
            post = form2.save(commit=False)
            post.save()
            return redirect('canditate_list')
    else:
        form2 = EvalForm()
    return render(request, 'app/evaluation.html', {'criterions': form2,})

[编辑]: 伙计们,我没有缩进错误,因为我只需在键入“True:”之前按“Enter”,如果编辑器自动这样做,我不可能弄错

[编辑2]: 我从不使用空格精确地缩进我的代码避免这个问题,我总是使用“tab”和“tab”


Tags: 代码falseappifrequestsavepostcommit
2条回答

都是关于压痕的!Python根据缩进确定代码的位置(而不是像大多数其他语言那样{})。你知道吗

下面是一个示例,这是有效代码:

if 1 == 1:
    print('If passed!')

一旦if语句确定1 == 1True,它就会在下一行中查找缩进并运行它!你知道吗

下面是另一个示例,这是无效代码:

if 1 == 1:
print('If passed!')

一旦if语句确定1 == 1True,它就会在下一行中查找缩进,但是,它没有找到缩进,所以它不知道该做什么,所以它抛出一个IndentationError

在你的代码中,你有这个,它工作!你知道吗

if request.method == "POST":
    form2 = EvalForm(request.POST)

我猜当你添加cont = 3时,你是这样添加的

if request.method == "POST":
cont = 3
    form2 = EvalForm(request.POST)

因此,当python通过if语句时,它会查找下一个缩进,但没有,因此它抛出一个IndentationError。你知道吗

我希望这能帮助你了解发生了什么事!你知道吗

通常情况下,这是因为有时标签!=空格。这还取决于用户使用的编辑器类型。你知道吗

选项卡可以是不同的列数,具体取决于您的环境,但空格始终是一列。你知道吗

空格是实际的最小公分母标点符号。很多体面的文本编辑器有一个“用空格替换制表符”,这使得程序员只需点击制表键就可以得到所需的缩进。你知道吗

如果遇到这样的错误,请尝试使用空格,因为空格不会出错,而制表符可能会出错。你知道吗

像PyCharm这样的最新编辑器遵循PEP-8,并且根据PEP-8,建议在Python程序中只对缩进使用空格。你知道吗

相关问题 更多 >