Django login重定向到密码重置页,而不是profile pag

2024-04-28 06:55:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我是django的新人,正在开发我的第一个应用程序。在这个阶段,我尝试使用django登录而不使用自定义视图函数。不幸的是,在django管理页面中创建用户并尝试登录之后,我发现login按钮将我重定向到输入了无效链接的密码重置页面。我不知道登录是失败还是成功。 我找过很多类似的问题,但从来没有遇到过同样的情况。在

网址

from django.conf.urls.static import static

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

#Add Django site authentication urls (for login, logout, password management)
urlpatterns += [
    path('accounts/', include('django.contrib.auth.urls')),
    path('accounts/login/', include('django.contrib.auth.urls'), name = 'login'),
    path('accounts/logout/', include('django.contrib.auth.urls'), name = 'logout'),
    path('accounts/password_change/', include('django.contrib.auth.urls'), name = 'password_change'),
    path('accounts/password_change/done/', include('django.contrib.auth.urls'), name = 'password_change_done'),
    path('accounts/password_reset/', include('django.contrib.auth.urls'), name = 'password_reset'),
    path('accounts/password_reset/done/', include('django.contrib.auth.urls'), name = 'password_reset_done'),
    path('accounts/reset/<uidb64>/<token>/', include('django.contrib.auth.urls'), name = 'password_reset_confirm'),
    path('accounts/reset/done/', include('django.contrib.auth.urls'),name='password_reset_complete')
]

html基

^{pr2}$

html扩展

{% extends "base_generic_lite01.html" %}

{% block nav %}
<nav class="navbar navbar-dark bg-primary  navbar-expand-md">
        <div id = "navigation_div" class="container-fluid">
            <a class="navbar-brand" href="#">Monkyro</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mon_menu"
                    aria-controls="navbarText" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="mon_menu">
                <ul class="navbar-nav ml-auto">
                    <li class="nav-item"><a class="nav-link" href="{% url 'index'%}" >Acceuil</a></li>
                    <li class="nav-item"><a class="nav-link" href= "{% url 'registerpage' %}" >S'inscrire </a></li>
                    <li class="nav-item"><a class="nav-link" href ="{% url 'doctorlistpage'%}">Docteurs</a></li>
                    <li class="nav-item"><a class="nav-link" href= "{% url 'tariffpage' %}" >Tarifs</a></li>
                    <li class="nav-item"><a class="nav-link" href= "{% url 'reviewpage' %}" >Avis</a></li>
                    <li class="nav-item active"><a class="nav-link" href= "{% url 'myloginpage' %}"  >Se connecter</a></li>
                </ul>
            </div>
        </div>
    </nav>
{% endblock%}

{% block content%}
{% if form.errors %}
  <p>Your username and password didn't match. Please try again.</p>
{% endif %}

{% if next %}
  {% if user.is_authenticated %}
    <p>Your account doesn't have access to this page. To proceed,
    please login with an account that has access.</p>
  {% else %}
    <p>Please login to see this page.</p>
  {% endif %}
{% endif %}

<form method="post" action="{% url 'login' %}" >
{% csrf_token %}
<table>

<tr>
  <td>{{ form.username.label_tag }}</td>
  <td>{{ form.username }}</td>
</tr>

<tr>
  <td>{{ form.password.label_tag }}</td>
  <td>{{ form.password }}</td>
</tr>
</table>

<input type="submit" value="login" />
<input type="hidden" name="next" value="{{next}}" />
</form>

{# Assumes you setup the password_reset view in your URLconf #}
<p><a href="{% url 'password_reset' %}">Lost password?</a></p>

{% endblock %}

我希望在accounts/profile/page上被重定向,但是我被重定向到password reset页面。在

谢谢你考虑我的问题。在


Tags: pathdjangonameauthincludeloginpasswordli
2条回答
you need to add two lines in your Settings.py
LOGIN_URL = 'login'
LOGIN_REDIRECT_URL = '/' or name of your homepage where you want to redirect

根据这个^{},如果您想使用django的身份验证默认视图,那么您只需将以下内容放入:

urlpatterns += [
    path('accounts/', include('django.contrib.auth.urls')), 
    # You can remove rest of the paths from urlpatterns
]

现在,如果要覆盖任何特定视图,则可以如下所示覆盖默认视图:

^{pr2}$

相关问题 更多 >