我觉得有兔子在发帖问这个问题,但我不继续了,因为: 我的这段代码有什么问题:
当我在收到的“如果”后面加上东西时:
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”
都是关于压痕的!Python根据缩进确定代码的位置(而不是像大多数其他语言那样
{}
)。你知道吗下面是一个示例,这是有效代码:
一旦
if
语句确定1 == 1
是True
,它就会在下一行中查找缩进并运行它!你知道吗下面是另一个示例,这是无效代码:
一旦
if
语句确定1 == 1
是True
,它就会在下一行中查找缩进,但是,它没有找到缩进,所以它不知道该做什么,所以它抛出一个IndentationError
在你的代码中,你有这个,它工作!你知道吗
我猜当你添加
cont = 3
时,你是这样添加的因此,当python通过
if
语句时,它会查找下一个缩进,但没有,因此它抛出一个IndentationError
。你知道吗我希望这能帮助你了解发生了什么事!你知道吗
通常情况下,这是因为有时标签!=空格。这还取决于用户使用的编辑器类型。你知道吗
选项卡可以是不同的列数,具体取决于您的环境,但空格始终是一列。你知道吗
空格是实际的最小公分母标点符号。很多体面的文本编辑器有一个“用空格替换制表符”,这使得程序员只需点击制表键就可以得到所需的缩进。你知道吗
如果遇到这样的错误,请尝试使用空格,因为空格不会出错,而制表符可能会出错。你知道吗
像PyCharm这样的最新编辑器遵循PEP-8,并且根据PEP-8,建议在Python程序中只对缩进使用空格。你知道吗
相关问题 更多 >
编程相关推荐