почему мое имя шаблона не отображается вместо имени шаблона по умолчанию в django? - PullRequest
0 голосов
/ 19 января 2020

Мне нужно показать свое собственное имя шаблона для (passwordResetConfirm), когда я использую здесь имя шаблона. Я получаю шаблон по умолчанию Django, также когда я получаю успешное сообщение от (PasswordResetComplete), которое я получаю из того же места, которое я имею в виду (значение по умолчанию Django шаблон тоже).
однако я не получаю ошибок кода.
итак, как я могу получить собственное имя шаблона в этом случае?

urls.py

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

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'

1 Ответ

0 голосов
/ 19 января 2020

У меня возникла та же проблема, когда я пробовал разные вещи, вот что сработало

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')),
    url(r'password_reset_done/', auth_views.PasswordResetDoneView.as_view(template_name='registration/password_reset_done.html')),
    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'))

Я не создавал пользовательские классы, как вы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...