0

Django ベースの Web サイトを構築していますが、スーパー ユーザーでないユーザーをプロファイル/ランディング ページにリダイレクトしようとすると問題が発生します。ログインしているスーパーユーザーのみが管理ページにアクセスできる必要があります。

現在、私はローカルホストで作業しています。

ログイン シナリオ:非スーパー ユーザーは引き続きhttp://127.0.0.1/adminおよびhttp://127.0.0.1/admin/loginにアクセスできます。

ログインしていないシナリオ:ログインしていないユーザーでもhttp://127.0.0.1/admin/loginにアクセスできます

ログインしているが、 http://127.0.0.1/adminにアクセスしようとすると非スーパー ユーザー ビュー:

ここに画像の説明を入力

http://127.0.0.1/admin/loginにアクセスしようとすると、ログインしましたが、スーパーユーザービューではありません:

ここに画像の説明を入力

http://127.0.0.1/adminにアクセスしようとしたときにログインしていないユーザー:

ここに画像の説明を入力

http://127.0.0.1/admin/loginにアクセスしようとしたときにログインしていないユーザー:

ここに画像の説明を入力

私の urls.py は次のようになります:

from imports *

admin.autodiscover()
admin.site.admin_view = admin_view
admin.site.login = login_required(admin.site.login)
admin.site.login = staff_member_required(admin.site.login, login_url=settings.LOGIN_URL)


urlpatterns = [
    path('', views.index, name ='index'),
    path('dummy', views.loggedin, name ='dummy'),
    url(r'^admin/login/', views.loggedin, name ='dummy'),
    url(r'^admin/', admin.site.urls),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

urlpatterns += staticfiles_urlpatterns()

ここで何が間違っていますか?

4

1 に答える 1