Код: Выделить всё
auth_app
Код: Выделить всё
dashboard_app). Я ожидаю, что после успешного входа в систему пользователь будет перенаправлен на панель мониторинга, но Django продолжает перенаправлять на /dashboard/
- Конфигурация URL-адреса:
- В Dashboard_app/urls.py:
Код: Выделить всё
from django.urls import path from .views import DashboardController app_name = 'dashboard_app' urlpatterns = [ path("dashboard/", DashboardController.as_view(), name='dashboard'), ]
- В project/urls.py я включил Dashboard_app в /profile/ путь:
Код: Выделить всё
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('auth/', include('auth_app.urls')), path('profile/', include('dashboard_app.urls')), ]
- В Dashboard_app/urls.py:
- Контроллер входа:
После успешного входа в систему я использую обратный для перенаправления на панель управления:Код: Выделить всё
from django.shortcuts import redirect from django.urls import reverse class LoginController(View): def post(self, request): # Authenticate the user ... return redirect(reverse('dashboard_app:dashboard'))
После успешного входа в систему я перенаправляюсь на /dashboard/ вместо /profile/dashboard/ или любого другого пользовательского пути. Даже если я попытаюсь изменить URL-адрес в Dashboard_app/urls.py:
Код: Выделить всё
from django.urls import path
from .views import DashboardController
app_name = 'dashboard_app'
urlpatterns = [
path('somewhere/', DashboardController.as_view(), name='dashboard'),
]
- < li>У меня нет специального промежуточного программного обеспечения.
- Я не использую JavaScript; для шаблонов используется только Jinja.
Код: Выделить всё
[list]
{% for field in form %}
{% for error in field.errors %}
[*]{{ error }}
{% endfor %}
{% endfor %}
[/list]
{% csrf_token %}
{{ form.username.label_tag }}
{{ form.username }}
{{ form.password1.label_tag }}
{{ form.password1 }}
{{ form.password2.label_tag }}
{{ form.password2 }}
Register
Already have an account? [url={% url ]Login here[/url]
- Я проверил шаблоны URL-адресов в Dashboard_app/urls.py и project/urls.py, чтобы убедиться в их правильности.
- Я пытался изменить URL-адрес перенаправления в LoginController, но перенаправление всегда заканчивалось /profile/dashboard/.
- Я очистил кеш Django и перезапустил сервер разработки, но проблема не устранена.
Почему Django перенаправляется на /dashboard/ вместо ожидаемого /profile/dashboard/ или любого другого настраиваемого пути? Как я могу решить эту проблему?
Подробнее здесь: https://stackoverflow.com/questions/791 ... -custom-ur