Я не могу войти в свое приложение Django, когда для debug установлено значение False - PullRequest
1 голос
/ 15 апреля 2010

Короткая история: я заблокирован из приложения Django, когда для Debug установлено значение False.

Длинная история:

Случай 1 (в первый раз, когда это произошло):

  1. Я ввожу свою регистрационную информацию, но она просто перенаправляет на страницу авторизации.
  2. Я перезагружаю сервер, пытаюсь войти, и он работает нормально, я вхожу.
  3. Через несколько часов я вернусь, выйду из системы, попытаюсь снова войти в систему, но не могу. Он просто перенаправляет на страницу входа.

Случай 2 (я выясняю, как спровоцировать ошибку входа в систему):

  1. Я перезагружаю сервер и могу зайти на сайт.
  2. Я вхожу и выхожу несколько раз, все нормально.
  3. Я захожу на несуществующую страницу и получаю сообщение об ошибке сервера.
  4. Я выхожу из системы и пытаюсь снова войти в систему, но не могу, просто перенаправлен обратно на страницу входа.

Случай 3 (я не могу спровоцировать ошибку входа в систему, если для Debug установлено значение True): 1. Я перезагружаю сервер и могу войти на сайт. 2. Я захожу и выхожу несколько раз, все нормально. 3. Я захожу на несуществующую страницу и получаю обратную ссылку. 4. Я выхожу и снова захожу, все работает. 5. Я подожду и поиграюсь с ним и не смогу войти в систему в режиме отладки.

Пожалуйста, помогите!

Ответы [ 4 ]

1 голос
/ 29 декабря 2010

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

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

SESSION_SAVE_EVERY_REQUEST = True
SESSION_COOKIE_NAME = 'something'

и все.

1 голос
/ 15 апреля 2010

У вас есть настроенный обработчик ошибок 500? Возможно, это делает что-то странное с сеансом?

0 голосов
/ 17 мая 2011

Убедитесь, что urls.py файл импортирует все из django.conf.urls.defaults.

Возможно, вы явно импортировали определенные методы, такие как шаблоны и include (как я сделал для борьбы с предупреждениями PyDev о «диком импорте»). В результате важные операторы, которые назначают обработчикам по умолчанию Django коды ошибок HTTP 404 и 500, будут опущены. Это, очевидно, нежелательно и приводит к странному поведению, описанному в вопросе.

0 голосов
/ 15 апреля 2010

Я полагаю, что это связано с ошибками в классах администратора, требующих перезапуска devserver для продолжения.

Поскольку ничего не сообщается, я бы попытался удалить все ваши определения admin.py и просто использовать базовый admin.site.register (SomeModel) для всего и посмотреть, если это все еще происходит, затем добавить их обратно, пока он не появится снова. происходит.

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