Я новичок в Django, и я пытаюсь внедрить в свой проект django -login-required-middleware, чтобы иметь возможность направлять всех пользователей, которые не вошли на страницу индекса при входе в систему Посмотреть.
Я установил pip install django-login-required-middleware
, добавил login_required
в мои INSTALLED_APPS
настройки и добавил login_required.middleware.LoginRequiredMiddleware
в СРЕДНЕЕ ОБЕСПЕЧЕНИЕ. Затем в своих настройках я игнорирую представления, которые я хочу отображать пользователям, даже когда они не вошли в систему.
settings.py
LOGIN_REQUIRED_IGNORE_VIEW_NAMES = [
'index',
'register'
]
Однако, когда я запускаю сервер, Я получаю сообщение об ошибке
Не найдено: / account / login / [22 / Jan / 2020 12:27:56] "GET / account / login /? Next = / HTTP / 1.1" 404 4417
и в моем браузере:
Метод запроса: GET URL запроса: http://127.0.0.1: 8000 / account / login /? Next = /
Кажется, он автоматически направляет меня к учетным записям, хотя мое приложение называется movies_app, а не учетные записи. Кто-нибудь знает, как это исправить? Большое спасибо!
urls.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)