如何在 Django login.html 中使用 base_template 变量

问题描述

我有一个非常简单的 Django 3.1 项目,它使用 Mozilla 教程 (https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication) 中的基本登录身份验证。

效果很好,但我想将 extends base_generic 行更改为变量。

例如,logged_out.html,目前看起来像这样:

{% extends "base_generic.html" %}

{% block content %}
  <p>Logged out!</p>
  <a href="{% url 'login'%}">Click here to login again.</a>
{% endblock %}

我希望它看起来像这样:

{% extends base_template %}  <-- Here's the change I'd like to make

{% block content %}
  <p>Logged out!</p>
  <a href="{% url 'login'%}">Click here to login again.</a>
{% endblock %}

我已经能够为我创建的所有模板成功执行此操作,但我无法弄清楚如何为“内置”登录身份验证页面执行此操作,例如 login.html、logged_out .html、password_reset_form.html 等

谢谢!

解决方法

您可以定义自己的模板并更改 urls.py。更改 auth_views.LogoutView 模板的示例:

urlpatterns = [

path('logout/',auth_views.LogoutView.as_view(template_name='customers/logout.html'),name='logout'),]