Django 如何更改密码重置表单的页面标题?

Django 如何更改密码重置表单的页面标题?,django,Django,我使用的是django附带的默认密码重置表单。通过在URL.py中添加以下代码行,我更改了管理员站点的标题 admin.site.site_header = 'My Site Name' 但是,密码rest表单仍然显示“Django Administration”来代替站点标题,如所附图片所示。我如何改变它? 虽然是从admin/base\u site.html扩展而来。但是site\u标题文本似乎没有从视图发送到模板(可能是因为它不是实际管理站点的一部分,或者模板就在那里)。因此,您可以从d

我使用的是django附带的默认密码重置表单。通过在URL.py中添加以下代码行,我更改了管理员站点的标题

admin.site.site_header = 'My Site Name'
但是,密码rest表单仍然显示“Django Administration”来代替站点标题,如所附图片所示。我如何改变它? 虽然是从
admin/base\u site.html
扩展而来。但是
site\u标题
文本似乎没有从视图发送到模板(可能是因为它不是实际管理站点的一部分,或者模板就在那里)。因此,您可以从
django.contrib.auth.views.PasswordResetView
创建一个新的视图子类,并通过
context
传递此信息。试着这样做:

from django.contrib.auth.views import PasswordResetView
from django.contrib import admin


class CustomResetPasswordView(PasswordResetView):
    def get_context_data(self, **kw):
        context = super().get_context_data(**kw)
        context['site_header'] = getattr(admin.sites, 'site_header')  # get site header text. For django 2.X it should be getattr(admin.sites.AdminSite, 'site_header')
        return context
# your_app/context_processors.py
def admin_header_processor(request):
    site_header = getattr(admin.sites, 'site_header')  # get site header text. For django 2.X it should be 
    return {"site_header": site_header}
并在URL中使用它:

path('reset_passowrd/', CustomResetPasswordView.as_view()),

编写一个上下文处理器,发送
site\u header
,如下所示:

from django.contrib.auth.views import PasswordResetView
from django.contrib import admin


class CustomResetPasswordView(PasswordResetView):
    def get_context_data(self, **kw):
        context = super().get_context_data(**kw)
        context['site_header'] = getattr(admin.sites, 'site_header')  # get site header text. For django 2.X it should be getattr(admin.sites.AdminSite, 'site_header')
        return context
# your_app/context_processors.py
def admin_header_processor(request):
    site_header = getattr(admin.sites, 'site_header')  # get site header text. For django 2.X it should be 
    return {"site_header": site_header}
并将其添加到
模板内的
上下文处理器中:

'context_processors': [
    'django.template.context_processors.debug',
    'django.template.context_processors.request',
    'django.contrib.auth.context_processors.auth',
    'django.contrib.messages.context_processors.messages',
    'your_app.context_processors.admin_header_processor',
],