Почему Django продолжает перенаправлять на `/profile/dashboard/` вместо пользовательского URL-адреса даже после изменениPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Почему Django продолжает перенаправлять на `/profile/dashboard/` вместо пользовательского URL-адреса даже после изменени

Сообщение Anonymous »

Я работаю над проектом Django с отдельными приложениями для аутентификации (

Код: Выделить всё

auth_app
) и панель пользователя (

Код: Выделить всё

dashboard_app). Я ожидаю, что после успешного входа в систему пользователь будет перенаправлен на панель мониторинга, но Django продолжает перенаправлять на /dashboard/
вместо /profile/dashboard/ или любого другого URL-адреса, который я настраиваю.Вот что я сделал:
  • Конфигурация 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')),
      ]
      
  • Контроллер входа:
    После успешного входа в систему я использую обратный для перенаправления на панель управления:

    Код: Выделить всё

    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'),
]
однако он продолжает перенаправляться на /dashboard/ вместо профиля/куда-то/.
  • < li>У меня нет специального промежуточного программного обеспечения.
  • Я не использую JavaScript; для шаблонов используется только Jinja.
HTML-форма, используемая в шаблоне Register_page.html, выглядит следующим образом:

Код: Выделить всё

[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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»