Django限制访问TemplateView

时间:2018-02-13 13:51:46

标签: django django-views

我使用TemplateView显示swagger页面(本地文件)。但是,现在我需要限制访问。使用普通视图,我可以在视图上使用@login_required mixin。有没有办法用TemplateViews做到这一点?或者我应该使用其他方式显示这些招摇页面?

Integer

1 个答案:

答案 0 :(得分:1)

最干净的方法是创建一个扩展TemplateView的视图,这样有助于保持 urls.py 清洁。

<强> views.py

from django.contrib.auth.mixins import LoginRequiredMixin

class SwaggerView(LoginRequiredMixin, TemplateView):
    template_name = 'swagger.html'

<强> urls.py

from . import views

url(r'^swagger/', views.SwaggerView.as_view(), name='swagger'),