Я использую Платформу Django Message, чтобы показать сообщения пользователям, а также @login_required
декоратор на одном из моих представлений. Таким образом, если пользователь пытается получить доступ к определенному представлению без того, чтобы быть зарегистрированным, их ударяют к странице входа в систему. Как я пошел бы о добавлении сообщения об ошибке к странице входа в систему, говорящей, "Чтобы сделать..., Вы должны быть зарегистрированы". Я не могу добавить, что это в представлении как Вы обычно было бы, потому что незарегистрированный пользователь никогда не будет добираться до там.
Нет очевидного пути. Единственное, что приходит в голову, - это написать собственную версию декоратора, который помещает сообщение в сеанс перед перенаправлением, а затем получить шаблон входа в систему для отображения сообщения из сеанса.
Вам нужно будет использовать код из django.contrib.auth.decorators
, в частности функцию user_passes_test
- бит для добавления сообщения должен стоять перед возвращает HttpResponseRedirect
.
Попробуйте использовать это: http://code.google.com/p/django-session-messages/
или используйте Django 1.2 (в настоящее время в бета-версии) и структуру сообщений: http: //docs.djangoproject.com/en/dev/ref/contrib/messages/#ref-contrib-messages