首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我自己的template_name在django中不显示,而不是默认的template_name?

为什么我自己的template_name在django中不显示,而不是默认的template_name?
EN

Stack Overflow用户
提问于 2020-01-18 22:15:36
回答 1查看 123关注 0票数 0

我需要显示我自己的template_name for (passwordResetConfirm),当我在这里使用template_name时,我得到默认的template_name模板,当我从(PasswordResetComplete)那里获得成功的消息时,我的意思也是相同的(默认的template_name模板)。

但是,我没有发现代码错误。

那么,在这种情况下,我如何才能获得自己的template_name呢?

urls.py

代码语言:javascript
复制
from . import views
from django.conf.urls import url
from django.contrib.auth.views import (
LoginView,
logout,
PasswordResetView,
PasswordResetDoneView,
PasswordResetConfirmView,
PasswordResetCompleteView,
    )
from django.core.urlresolvers import reverse_lazy
from django.shortcuts import render, redirect
from django.contrib.auth.decorators import login_required
# django\contrib\admin\templates\registration\password_reset_done.html

app_name = 'account'


class PasswordReset(PasswordResetView):
    template_name = 'account/password_reset_form.html'
    success_url = reverse_lazy('account:password_reset_done')
    email_template_name = 'account/reset_password_email.html'


class PasswordResetDone(PasswordResetDoneView):
    template_name = 'account/password_reset_done.html'
    success_url = reverse_lazy('account:password_reset_complete')


class PasswordResetConfirm(PasswordResetConfirmView):
    success_url = reverse_lazy('account:password_reset_complete')
    template_name = 'account/password_reset_confirm.html'

    def func(self, request):
        return render(request, self.template_name)


class PasswordResetComplete(PasswordResetCompleteView):
    template_name = 'account/password_reset_complete.html'

urlpatterns = [
    # /account/
    url(r'^$', views.index, name="home"),
    # /account/login/
    url(r'^login/$', LoginView.as_view(template_name='account/login.html'), name='login_page'),
    # /account/logout/
    url(r'^logout/$', logout, {'template_name': 'account/logout.html'}, name='logout'),
    # /account/register/
    url(r'^register/$', views.register, name='register'),
    # /account/profile/
    url(r'^profile/$', views.view_profile, name='view_profile'),
    # /account/profile/edit/
    url(r'^profile/edit/$', views.edit_profile, name='edit_profile'),
    # /account/change-password/
    url(r'^change-password/$', views.change_password, name='change_password'),
    # /account/password-reset/
    url(r'^password-reset/$', PasswordReset.as_view(), name='password_reset'),
    # /account/password-reset/done/
    url(r'^password-reset/done/$', PasswordResetDone.as_view(), name='password_reset_done'),
    # /account/password-reset/confirm/
    url(r'^password-reset/confirm/(?P<uidb64>[0-9A-Za-z]+)/(?P<token>.+)/$', PasswordResetConfirm.as_view(), name='password_reset_confirm'),
    # /account/password-reset/complete/
    url(r'^password-reset/complete/$', PasswordResetComplete.as_view(), name='password_reset_complete'),
]

settings.py

代码语言:javascript
复制
STATIC_URL = '/static/'
# Edit the login src url redirect
LOGIN_REDIRECT_URL = 'account:view_profile'
# Edit the login src url redirect in PasswordResetCompleteView
LOGIN_URL = 'account:login_page'
# To activating PasswordResetConfirmView
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EN

回答 1

Stack Overflow用户

发布于 2020-01-19 19:28:22

我也有过同样的问题,在尝试不同的事情时,这就是起作用的地方。

代码语言:javascript
复制
url(r'password_reset/$', auth_views.PasswordResetView.as_view(template_name='password_reset.html', email_template_name='registration/password_reset_email.html',                                                                  subject_template_name='registration/password_reset_email.html', success_url='/password_reset_done/', from_email='your@email.com')),
代码语言:javascript
复制
    url(r'password_reset_done/', auth_views.PasswordResetDoneView.as_view(template_name='registration/password_reset_done.html')),
代码语言:javascript
复制
    url(r'password_reset_confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$', auth_views.PasswordResetConfirmView.as_view(template_name='registration/password_reset_confirm.html', success_url='registration/password_reset_complete.html'))

我没有像你那样创建自定义类。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59805379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档