Django 在一个有效函数中出现缩进错误
我对Django真是厌烦透了。我写了一个Python函数,运行得很好。
为了更好地展示我的函数,我决定做一个网页。
我在我的函数里加了一些代码:
txt_len = 0 (line 1)
if text:
txt_len=len(text)
return txt_len
*这只是一个例子。
但是我遇到了一个问题,出现了IndentationError,也就是缩进错误,提示在第1行有意外的缩进。
为什么会这样呢?我搞不懂。
3 个回答
0
在Python编程中,常见的问题之一就是混用制表符(tabs)和空格(spaces)来缩进代码。你发的代码看起来没问题,但它已经经过格式化处理了。我建议你只使用空格来进行缩进,这样可以避免很多麻烦。
1
运行你提供的代码时(并且把第一行中的“(line 1)”去掉,因为那会导致语法错误),出现了“SyntaxError: 'return' outside function”的错误。我在txt_len = 0
这一行上方加了一个def fn():
的声明。正如我预料的那样,出现了“IndentationError: expected an indented block”的错误。要让这段代码正常工作,你需要把函数里的所有内容都缩进,像这样:
def fn():
txt_len = 0
if text:
txt_len=len(text)
return txt_len
如果这样还不能解决问题,请提供更多的代码。
4
我们来看看整个函数吧?第一行只是个例子,对吧?第一行至少得是一个函数的定义,这样返回的那一行才能正常工作。
你是不是直接把一个函数粘贴到Django的视图里了?
造成神秘缩进错误的罪魁祸首几乎总是空格和制表符混用。你的编辑器里有没有显示出一些看不见的字符?你能不能运行一个命令,把制表符替换成空格?