Django表单向导和权限
我想知道是否有一种方法可以使用Django的权限装饰器。我知道有一种方法可以通过urlconf实现,但我希望避免这种情况,并通过视图设置所有权限 我试图覆盖MyFormWizard.as_view()并在那里添加装饰器,但后来意识到这是一种@classonlymethodDjango表单向导和权限,django,django-views,django-formwizard,Django,Django Views,Django Formwizard,我想知道是否有一种方法可以使用Django的权限装饰器。我知道有一种方法可以通过urlconf实现,但我希望避免这种情况,并通过视图设置所有权限 我试图覆盖MyFormWizard.as_view()并在那里添加装饰器,但后来意识到这是一种@classonlymethod 我对基于类的视图没有太多经验,我想知道是否有一种简单的方法可以在FormWizard的方法中添加权限装饰器?有什么线索吗?您不必在url配置中装饰视图。您可以在视图.py中装饰视图 protected_wizard_view
我对基于类的视图没有太多经验,我想知道是否有一种简单的方法可以在FormWizard的方法中添加权限装饰器?有什么线索吗?您不必在url配置中装饰视图。您可以在
视图.py中装饰视图
protected_wizard_view = login_required(MyWizardView.as_view())
然后在url.py
中导入protected\u向导\u视图
(r'^wizard/', protected_wizard_view),
另一个选项是修饰dispatch
方法,如下所示
@Alasdair的响应很好,还有一个很棒的应用程序,它包含了许多帮助程序和混合程序,您可以使用它们进行基于类的查看,看看吧
运行pip安装django支架
,您可以使用LoginRequiredMixin
from braces.views import LoginRequiredMixin
class MyWizardView(LoginRequiredMixin, WizardView):
pass
还有像PermissionRequiredMixin
,multiplepermissionrequiredmixin
,GroupRequiredMixin
。谢谢,dispatch()和@method\u decorator正是我想要的!
from braces.views import LoginRequiredMixin
class MyWizardView(LoginRequiredMixin, WizardView):
pass