首页 > 解决方案 > 如何在 django 模板中获取上一页 url?

问题描述

我没有使用 PasswordResetViews 的 views.py!

我正在使用 django 密码重置,但我希望我的模板在来自 password_rest_email 和 password_reset_confirm 时表现不同

网址.py

from django.conf.urls import url,include
#from django.urls import path
from dappx import views
from django.contrib.auth.views import PasswordResetView,PasswordResetDoneView,PasswordResetCompleteView,PasswordResetConfirmView
# SET THE NAMESPACE!
app_name = 'dappx'
# Be careful setting the name to just /login use userlogin instead!
urlpatterns=[
    url('register/', views.register, name='register'),
    url('user_login/', views.user_login, name='user_login'),
    url('google_login/', views.google_login, name='google_login'),
    url('special/', views.special, name='special'),
    url('logout/', views.user_logout, name='logout'),
    url(r'^', include('django.contrib.auth.urls')),
    url('password_reset/', PasswordResetView.as_view(), name='password_reset'),
    url('password_reset/done/', PasswordResetDoneView.as_view(), name='password_reset_done'),
    url('reset/<uidb64>/<token>/', PasswordResetConfirmView.as_view(), name='password_reset_confirm'),

]

我需要该模板 ie(password_reset_confirm) 来显示来自 password_reset_email 的电子邮件已发送,如果来自 password_reset_confirm 则显示密码重置成功

password_reset_complete.html

{% extends 'dappx/base.html' %}

{% block title %}Check your Email{% endblock %}

{% block body_block %}
<div class="row no-gutters">
    <div class="col-12 col-sm-6 col-md-8"></div>
    <div class="col-6  col-md-4">
        <div class="jumbotron">
<h4>The password reset link has been sent to youre Email</h4>
<br>
<p>Check your email to reset the password. You can log in now on the <a href="{% url 'dappx:user_login' %}">log in page</a>.</p>
<br>
        </div>
    </div>
{% endblock %}

标签: djangodjango-templatesdjango-urls

解决方案


似乎是 Django 的副本:get previous url

您始终可以将 GET 变量与您想要的信息一起传递,在随后的视图中,它可以直接使用。


推荐阅读