Как использовать 'user.username' в settings.py - PullRequest
0 голосов
/ 22 февраля 2011

У меня проблемы с переадресацией URL после успешного входа в систему.

Значение по умолчанию для 'LOGIN_REDIRECT_URL' для django - '/ account / profile /'.В моем случае он должен переадресовывать на '/ user / {{user.username}} /'

Я перезаписал его в файле настроек, но столкнулся с проблемой синтаксиса.Вот код:

LOGIN_REDIRECT_URL = "/user/%s/" % user.username

Когда я использую следующую строку в форме входа в систему, она работает, но только если страница сначала перезагружается.Что-то странное.

<input type="hidden" name="user" value="/user/{{ user.username }}/" />

Итак, какие изменения я должен внести в мой файл settings.py для загрузки имени пользователя при перенаправлении?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2011

Вместо этого вы можете создать собственный логин и использовать представления, описанные в аутентификация пользователя django .

Конечно, можно переопределить представление, на которое указывает / account / profile /, и вручную установить URL-адрес перенаправления, но это не очень элегантное решение.

0 голосов
/ 22 февраля 2011

Конечно, есть проблема с синтаксисом, вы ссылаетесь на переменную user в settings.py, которой там не существует. Это может помочь вам пройти учебник по Python, чтобы понять правила области видимости Python.

В любом случае, settings.py для статических глобальных настроек. Очевидно, что имена пользователей различаются в зависимости от пользователя, поэтому вы не можете поместить динамическую настройку там.

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