gpt4 book ai didi

python - Django 登录所需的中间件不起作用

转载 作者:行者123 更新时间:2023-12-01 06:32:00 26 4
gpt4 key购买 nike

我是 Django 新手,我正在尝试在我的项目中实现 django-login-required-middleware,以便能够通过登录 View 引导所有未登录到索引页面的用户。

我安装了 pip install django-login-required-middleware,在我的 INSTALLED_APPS 设置中添加了 login_required,并添加了 login_required。我的中间件中的 middleware.LoginRequiredMiddleware 。然后,在我的设置中,我会忽略想要向用户显示的 View ,即使用户未登录也是如此。

设置.py

LOGIN_REQUIRED_IGNORE_VIEW_NAMES = [
'index',
'register'
]

但是,当我运行服务器时,出现错误

Not Found: /accounts/login/ [22/Jan/2020 12:27:56] "GET /accounts/login/?next=/ HTTP/1.1" 404 4417

在我的浏览器中:

Request Method: GET Request URL: http://127.0.0.1:8000/accounts/login/?next=/

它似乎会自动将我定向到帐户,即使我的应用程序名为 movie_app 而不是帐户。有人知道如何解决这个问题吗?非常感谢!

url.py

from django.urls import path
from django.conf import settings
from django.conf.urls.static import static
from .views import editprofile

from . import views

app_name = 'movies_app'

urlpatterns = [
path('', views.login, name='login'),
path('browse/', views.index, name='index'),
path('register/', views.register, name='register'),
path('movies/', views.allMovies, name='allMovies'),
path('movies/<int:pk>/', views.movie, name='movie'),
path('movies/<int:pk>/rate', views.addRating, name='rate'),
path('my-list/', views.myMovies, name='my-list'),
path('my-list/<int:pk>/delete', views.deleteFavoriteMovie, name='favorite-movie-delete'),
path('profile/', views.profile, name='register'),
path('editprofile/', views.editprofile, name='editprofile'),
path('logout/', views.logout, name='logout'),
path('movie-video', views.movieVideo, name='movie-video')
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

最佳答案

您的中间件正在运行,并将您重定向到默认登录页面 /accounts/login/

要自定义默认登录页面,请添加 LOGIN_URL您的设置,例如

LOGIN_URL = '/login/'

最后,您有 app_name = 'movies_app',因此在引用此应用中的 URL 模式时应包含此内容。例如,您的LOGIN_REQUIRED_IGNORE_VIEW_NAMES`应该是:

LOGIN_REQUIRED_IGNORE_VIEW_NAMES = [
'movies_app:index',
'movies_app:register'
]

关于python - Django 登录所需的中间件不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59860044/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com