0

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

4

1 に答える 1