Вход в Django не удается из-за слишком большого количества перенаправлений
У меня есть довольно простой экземпляр приложения Django, обслуживающий гибридное приложение React.
Я хотел защитить это приложение за логином, используя стандартный модуль аутентификации Django, но когда я пытаюсь получить доступ к приложению на http://127.0.0.1:8000/
, я получаю перенаправление на:
http://127.0.0.1:8000/accounts/login/?next=/accounts/login/%3Fnext%3D/accounts/login/%253Fnext%253D/accounts/login/%25253Fnext%25253D/accounts/login/[...]
И браузер отображает ERR_TOO_MANY_REDIRECTS
.
- Python 3.11.0
- Django 4.1.3
config/urls.py
from django.contrib import admin
from django.urls import include, path
from rest_framework import routers
from maapi import views
router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'groups', views.GroupViewSet)
urlpatterns = [
path('admin/', admin.site.urls),
path('routers/', include(router.urls)),
path('api-auth/', include('rest_framework.urls', namespace='rest_framework')),
path('api/', include('maapi.urls')),
path('', include('frontend.urls')),
]
frontend/urls.py
from django.urls import path
from . import views
urlpatterns = [
path(r'', views.ReactAppView.as_view(), name='react_app'),
path(r'<path:path>', views.ReactAppView.as_view(), name='react_app_with_path'),
]
frontend/views.py
from django.views.generic import TemplateView
from django.utils.decorators import method_decorator
from django.contrib.auth.decorators import login_required
# Create your views here.
@method_decorator(login_required, name='dispatch')
class ReactAppView(TemplateView):
template_name = 'app.html'
# Get url parameter (Note that removing this doesn't solve the issue)
def get_context_data(self, **kwargs):
return {'context_variable': 'value'}
Можете ли вы определить, что не так, или указать мне, что нужно проверить? Спасибо.