Django IndentationError в рабочей функции - PullRequest
0 голосов
/ 11 марта 2011

Мне так надоело Джанго.Я написал функцию Python, которая работает правильно.Из соображений наглядности я решил создать веб-страницу для демонстрации своей функции.

Я добавил некоторый код в свою функцию:

txt_len = 0          (line 1)
if text:
    txt_len=len(text)

return txt_len  

* это всего лишь пример.
Но по какой-то причине я получаю IndentationError, неожиданный отступ в строке 1

Почему?не могу получить это.

ОБНОВЛЕНИЕ:

У меня было несколько пробелов / табуляции между некоторыми строками кода.Так что я исправил это, и теперь это работает.

Ответы [ 3 ]

5 голосов
/ 11 марта 2011

Давайте посмотрим на всю функцию? Строка 1 только для примера, верно? Строка 1, по крайней мере, должна быть определением функции для этой обратной строки.

Вы только что вставили функцию в представление django?

Виновным в таинственных ошибках отступов почти всегда является смешивание пробелов и табуляций. У вас есть невидимые символы, видимые в вашем редакторе? Можете ли вы запустить команду для замены табуляции пробелами?

1 голос
/ 11 марта 2011

Выполнение представленного вами кода (и удаление «(строка 1)» из первой строки, что приведет к синтаксической ошибке) дало «SyntaxError: 'return' outside function». Я добавил оператор def fn(): чуть выше оператора txt_len = 0. Как я и ожидал, это дало «IndentationError: Ожидается блок с отступом». Чтобы этот код работал, вам нужно сделать отступ в функции, например:

def fn():
    txt_len = 0
    if text:
        txt_len=len(text)
    return txt_len

Если это не решит проблему, предоставьте больше кода.

0 голосов
/ 11 марта 2011

Распространенные проблемы с отступами Python включают смешивание табуляции и пробелов.Пример кода, который вы разместили, выглядит хорошо, но он уже отфильтрован через форматтер.Я рекомендую убедиться, что вы используете только отступы для отступа.

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