【问题标题】:how to get previous page url in django template?如何在 django 模板中获取上一页 url?
【发布时间】:2019-12-05 23:41:30
【问题描述】:

我没有使用 PasswordResetViews 的 views.py!

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

urls.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'),

]

我需要该模板,即(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 %}

【问题讨论】:

    标签: django django-templates django-urls


    【解决方案1】:

    似乎与 Django: getting previous url 重复

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

    【讨论】:

    • 我没有需要在模板中完成的views.py?
    • 您可以直接在模板中使用 {{ request.META.HTTP_REFERER }} 并与它进行比较。
    【解决方案2】:

    我还不能评论帖子,所以我只是写这个作为答案。以下链接提供了有关 django 内置身份验证的教程。有一个视图逻辑告诉用户已发送电子邮件“密码重置完成视图”和一个视图逻辑告诉它是否成功“密码重置完成视图”。

    Django Tutorial

    【讨论】:

      猜你喜欢
      • 2011-02-22
      • 2013-10-04
      • 2020-02-01
      • 1970-01-01
      • 2021-12-23
      • 1970-01-01
      相关资源
      最近更新 更多