Django 消息框架和 login_required

标签 django

我正在使用 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/

相关文章:

python - 配置不当的 : Error loading psycopg2 module: No module named 'psycopg2._psycopg' zappa

django - 如何确保查询集将按有效字段排序 - django

Django - 导出到 Excel 并渲染到模板

python - 在 Django 应用程序的 Celery 任务中使用事务会导致问题吗?

python - 如何在 Django 中创建自动递增整数字段?

python - Django 新用户通过电子邮件确认

django - Google App Engine 教程问题 - 新数据存储模型

django - 在 Django 管理中隐藏字段

Django, sorl-thumbnail 裁剪图片头

python - 使用 django-polymorphic 创建许多对象