проблема отступа в моей программе на Python - PullRequest
1 голос
/ 21 января 2010

Я использую следующий код и получаю проблему с отступом

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 ]

3 голосов
/ 21 января 2010

Скорее всего, вы используете сочетание отступов и пробелов в отступе ... Вместо этого используйте все пробелы / все вкладки.(Наиболее распространенный стиль - использование 4 пробелов на уровень отступа.)

Чтобы исправить этот конкретный случай проблемы, проверьте, чтобы строка def __unicode__(self): начиналась с того же отступа, что и строка pub_date = ...,Используйте тот же отступ + четыре лишних пробела для строки return ....

1 голос
/ 21 января 2010

согласен с другими, и вы можете использовать редактор, который может визуализировать пространство для проверки. например vim set list listchars=tab:»·,trail:· (я думаю, у gedit также есть такие плагины).

0 голосов
/ 21 января 2010

Я предполагаю, что тот факт, что в вашей трассировке есть имя файла *, противоречит моему предположению, но эй & hellip;

Поскольку ваши вкладки / пробелы кажутся более или менее нормальными (при условии дословного копирования / вставки), возможно, вы вставили код в интерактивный интерпретатор?

Новая строка после определений полей заставит интерпретатора думать, что определение класса выполнено, и, таким образом, предполагается, что он вернулся в глобальную область видимости. Это будет означать, что def действительно ложно с отступом.

* .py не совсем хорошее имя для скрипта Python, кстати

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...