Пользователь должен быть перенаправлен на страницу входа после регистрации и после выхода из системы. В обоих случаях должно отображаться сообщение с указанием соответствующих сообщений.
Использование django.contrib.auth.views.login
как мне отправить эти {{info}} сообщения.
Возможный вариант - скопировать auth.views
в новый модуль регистрации и включить все необходимые материалы. Но это не кажется достаточно сухим.
Какой самый лучший подход.
Обновление: уточнение вопроса:
Для обычных случаев, когда вы хотите указать какому-либо пользователю реакцию на действие, которое вы можете использовать
request.user.message_set.create()
Это создает сообщение, которое отображается в одном из шаблонов и автоматически удаляется.
Однако эта система сообщений работает только для зарегистрированных пользователей, которые продолжают иметь тот же идентификатор сеанса. В случае регистрации пользователь не проходит проверку подлинности, а в случае выхода из системы после изменения сеанса эта система не может использоваться.
Добавьте к этому, встроенные функции login
и logout
из django.contrib.auth.views
возвращают 'HttpResponseRedirect', который делает невозможным добавление другой переменной в шаблон.
Я попытался установить вещи для самого объекта запроса
request.info='Registered'
и отметьте это в другом представлении
try:
info = request.info:
del request.info
except:
info = ''
#later
render_to_response('app/file',{'info':info})
Даже это не сработало.
Очевидно, что я могу определить зарегистрированный.html и добавить туда это статическое сообщение, но мне было лень писать другой шаблон и пытаться реализовать его СУХОЙ.
Я понял, что случаи были разными для "зарегистрированного" сообщения и сообщения "вышел из системы". И СУХОЙ подход, который я использовал, я напишу как ответ.