Bum*_*bee 4 python django change-password django-forms
我有一个在网站上自定义格式的password_change_form.html。我正在用我的模板覆盖 Django 默认模板。但是,它没有渲染我的模板。它只是渲染默认模板,如下所示。
我创建了一个自定义格式的模板
基本.html
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="{% url 'password_change' %}">Change password</a>
<div class="dropdown-divider"></div>
Run Code Online (Sandbox Code Playgroud)
密码更改表单.html
{% extends 'home/base.html' %}
{% block body %}
<h2>
Change password
</h2>
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" class="btn btn-primary">Change password</button>
</form>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)
urls.py
from django.contrib import admin
from django.urls import path, include
from Shopping.cart import urls
urlpatterns = [
path('', include('Shopping.cart.urls')),
path('accounts/', include('django.contrib.auth.urls')),
path('admin/', admin.site.urls),
]
Run Code Online (Sandbox Code Playgroud)
我想看到我的模板覆盖 Django 默认模板
解决了 我犯了一个错误,我将模板文件夹放在应用程序中。这是造成问题的原因。现在我将模板文件夹移动到项目文件夹中。现在一切正常。谢谢。
我的解决方案是将“用户”应用程序指向“INSTALLED_APPS = []”中内置 django 应用程序上方。
2020 年 11 月 12 日更新:
Python从上到下读取代码。
来自 Django 官方文档中有关 INSTALLED_APPS 设置的信息:
当多个应用程序提供同一资源(模板、静态文件、管理命令、翻译)的不同版本时,INSTALLED_APPS 中首先列出的应用程序具有优先权。
如果“users”应用程序位于“django.contrib.admin”下方,那么 Django 将转到“admin”应用程序并找到templates/registration/password_change_form.html
因此,“用户”应用程序必须位于 INSTALLED_APPS 中的管理应用程序之前。
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |