Django PasswordResetView не работает должным образом с именем app_name, вызывая DisallowedRedirect

Я столкнулся с проблемой, связанной со встроенной в Django функцией сброса пароля в моем проекте. В частности, у меня есть приложение с именем 'user', и я определил переменную app_name в моем urls.py как app_name = 'user'. Однако это, похоже, вызывает проблемы с представлениями сброса пароля в Django.

Изначально я столкнулся с ошибкой "Reverse for 'url name' not found" при использовании auth_views.PasswordResetView. Чтобы решить эту проблему, я попробовал установить параметр success_url в 'user:password_reset_done' и указать пользовательское имя шаблона электронной почты.

Однако теперь я столкнулся с новой проблемой, когда при попытке получить доступ к функциональности сброса пароля отладчик поднимает исключение DisallowedRedirect с сообщением "Unsafe redirect to URL with protocol 'user'". Это происходит во время выполнения django.contrib.auth.views.PasswordResetView. Ошибка выглядит следующим образом:

Unsafe redirect to URL with protocol 'user'
Request Method: POST
Request URL:    http://127.0.0.1:8000/accounts/reset_password/
Django Version: 5.0.2
Exception Type: DisallowedRedirect
Exception Value:    
Unsafe redirect to URL with protocol 'user'
Raised during:  django.contrib.auth.views.PasswordResetView

Вот краткое описание моей установки:

urls.py (внутри приложения 'user'):

from django.urls import path
from django.contrib.auth import views as auth_views

app_name = 'user'
urlpatterns = [
        path('reset_password/', auth_views.PasswordResetView.as_view(template_name='registration/reset_password.html',
                                                              success_url='user:password_reset_done', 
                                                                email_template_name='registration/password_reset_email.html'),
                name="reset_password"),
        path('reset_password_sent/', auth_views.PasswordResetDoneView.as_view(template_name='registration/password_reset_done.html'),
                name='password_reset_done'),
        path('reset/<uidb64>/<token>/', auth_views.PasswordResetConfirmView.as_view(),
                name='password_reset_confirm'),
        path('reset_password_complete/', auth_views.PasswordResetCompleteView.as_view(),
                name='password_reset_complete')
]

registration/reset_password.html:

{% block content %}
<h1>Password reset</h1>
<p>Forgotten your password? Enter your email address below, and we’ll email instructions for setting a new one.</p>
<form method="post">
    {% csrf_token %}
    {{ form.as_div }}
    <input type="submit" id="reset_password" value="Reset my password">
</form>
{% endblock content %}

registration/password_reset_done.html:

{% block content %}
<h1>Password reset sent</h1>
<p>We've emailed you instructions for setting your password.</p>
{% endblock content %}

registration/password_reset_email.html:

Someone asked for a password reset for email {{ email }}. Follow the link below:
{{ protocol }}://{{ domain }}{% url 'user:password_reset_confirm' uidb64=uid token=token %}

Я пробовал различные подходы, но не смог решить эту проблему, я просмотрел Stack Overflow в поисках потенциальных решений, но, к сожалению, ни одно из них не дало желаемого результата. Любые идеи или предложения о том, как решить эту проблему, будут очень признательны. Спасибо!

Вернуться на верх