LoginRequiredMixin
在其他基于类的 View 上效果很好。此外,表单工具 FormPreview
工作正常。但是当我尝试同时使用两者时,LoginRequiredMixin
会被忽略。
如果我使用来自 form tools 的最基本示例,情况甚至如此和 Django documentation .
有两件事我觉得很奇怪(但这不一定是原因):
- “这个 mixin 应该在继承列表的最左边。”这听起来像是有一些内部 hack,如果有人做了一些不正常的事情就会崩溃。没有解释为什么。
- 应该调用表单工具 View 本身,而不是方法
.as_view()
,这又是不合标准的。
这是一个错误吗?我能做什么?
最佳答案
FormPreview
不是基于通用类的 View ,因此您不能将它与 LoginRequiredMixin
等混合使用。
您可以使用 login_required
在 URL 模式中包含表单预览实例时的装饰器:
from django.contrib.auth.decorators import login_required
url_patterns = [
url(r'^form-handler/$', login_required(MyFormPreview(SomeModelForm))),
]
关于python - 如何结合 Django 的 ‘LoginRequiredMixin’ 和表单工具的 ‘FormPreview’ ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50682736/