我的python程序中的缩进问题

时间:2010-01-21 06:31:39

标签: python django

我正在使用以下代码并获得一些缩进问题

from django.db import models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

    def __unicode__(self):
        return self.question

我收到以下错误

File "E:\Softwares\Django-1.1.1.tar\.py", line 7
    def __unicode__(self):
    ^
IndentationError: unexpected indent

3 个答案:

答案 0 :(得分:3)

您最有可能在缩进中使用了多个制表符和空格...请改用所有空格/所有制表符。 (最广泛采用的风格是每级缩进使用4个空格。)

要修复此问题的特定实例,请检查def __unicode__(self):行的开头是否与pub_date = ...行的缩进相同。对return ...行使用相同的缩进+四个额外空格。

答案 1 :(得分:1)

与其他人一致,您可以使用可以查看空间的编辑器进行检查。例如 vim set list listchars=tab:»·,trail:·(我认为gedit也有这样的插件)。

答案 2 :(得分:0)

我在这里做了一个疯狂的猜测,并且你的追溯中有一个文件名*的事实反对我的猜测,但是嘿......

由于您的标签/空格似乎或多或少(假设逐字复制/粘贴),您是否可以将代码粘贴到交互式解释器中?

字段定义之后的换行符会使解释器认为类定义已完成,因此假设回到全局范围。这意味着def确实是错误的缩进。

* .py对于python脚本来说并不是一个很好的文件名,顺便说一句