Django: ошибка импорта, связанная с тегами шаблона - PullRequest
1 голос
/ 18 марта 2011

У меня головная боль с некоторыми ошибками, которые внезапно появляются в разрабатываемом приложении. Однажды я решил это с помощью полного импорта (включая каталог проекта), но на этот раз ошибка не имеет смысла.

TemplateSyntaxError at /accounts/login/
Caught ViewDoesNotExist while rendering: Could not import e_cidadania.apps.proposals.views. Error was: cannot import name User

И помеченный код:

<a href="{% url password_reset %}">{% trans "Lost your password?" %}</a>

Строка импорта в views.py:24

from django.contrib.auth.models import User

Надо сказать, за 24 часа до того, как все заработало нормально, и в репо не было внесено никаких изменений.

Я посмотрел URL и вид, оба в порядке. Я запустил manage.py shell и проверил импорт, работает отлично. Я добавил некоторые метки в код, чтобы проверить, как он работает, и программа аварийно завершает работу, импортируя модель User в этот файл (в приложении много импортов User, и ни один из них не выдал предупреждение). Даже удаление импорта из файла дает ту же ошибку!

Как я могу отследить это, чтобы узнать, в чем реальная проблема?

ОБНОВЛЕНИЕ: Я забыл упомянуть, что отмеченная ошибка в модуле userprofile, а правильная ошибка дана в модуле proposals, модуле, в котором абсолютно ничего нет 1023 * делать с userprofile.

ОБНОВЛЕНИЕ 2 : Вы можете увидеть код здесь , приложение GPL, поэтому проблем нет.

1 Ответ

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

«Отношение» между модулями userprofile и предложений состоит в том, что вы, вероятно, ссылаетесь на оба в определении URL, которое используется для обратного действия при использовании {% url 'what.viewname' [args]%} там, вероятно, вы делаетеимпортировать некоторые функции просмотра из обоих.

Я бы начал смотреть на модули, которые вы импортируете туда.

У меня была эта досадная проблема (более одного раза), и большую часть времени это быловызванный рекурсивным импортом или импортом, зависящим от заказа, о котором я не знал (потому что большую часть времени "работал").

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