我已经搜索了一些解决方案,但它们都集中在一个管理 URL 上。但是我想知道是否有办法限制所有管理员视图,而不是将帐户限制为已通过身份验证的超级用户。
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^accounts/', include('accounts.urls'))
]
我想要的是
urlpatterns = [
url(r'^admin/', is_superuser(admin.site.urls)),
url(r'^accounts/', include('accounts.urls'))
]
或者我可以在视图中执行的类似操作
@user_passes_test(lambda u: u.is_superuser, login_url='allauth.account.views.LoginView')
def superuser_only(request, template):
return render(request, template)
但仍然允许我使用admin.site.urls
.
有没有一种快速而优雅的方法来解决这个问题?我希望包括超级用户在内的所有用户都通过accounts
应用程序进行身份验证。