これに対するいくつかの解決策を探しましたが、それらはすべて単一の管理者 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
アプリを介して認証するようにします。