我正在使用 Django 消息框架向用户显示消息以及 @login_required
装饰师对我的看法之一。因此,如果用户试图在未登录的情况下访问某个 View ,他们将被踢到登录页面。我将如何向登录页面添加一条错误消息,说“为了执行...您必须登录”。我不能像往常一样将它添加到 View 中,因为未登录的用户永远不会到达那里。
最佳答案
没有什么明显的方法。唯一想到的是编写自己的装饰器版本,在重定向之前将消息放入 session 中,然后获取登录模板以显示来自 session 的消息。
您需要使用 django.contrib.auth.decorators
中的代码,尤其是 user_passes_test
函数 - 添加消息的位必须在 return HttpResponseRedirect
之前.
关于Django 消息框架和 login_required,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2723842/