python - 如何使用 django-two-factor-auth 使用多个 _base.html 文件?
问题描述
Django-two-factor-auth 库需要一个 _base.html 文件来自定义样式以进行集成。
我需要我的登录页面的基础与其他两个因素页面的基础不同。如何使用两个不同的 _base.html 文件,而不是对所有两个因素 url 使用相同的 _base.html?
解决方案
在您的项目目录中,添加一个名为 的文件夹templates
,与您的应用程序处于同一级别,例如users
、blogs
等。在其中,为two_factor
. 在这个文件夹里面,把你修改过的base.html
.
如果您以某种方式收到错误消息,请在您settings.py
的TEMPLATES = [
. 代替
'DIRS': [],
和
'DIRS': [os.path.join(BASE_DIR, 'templates')], # in django2
或者
'DIRS': [BASE_DIR.joinpath('templates')],# in django3
这是关于模板的文档
在操作自己的答案后更新
如果你想two_factor/templates/two_factor/core/login.html
使用自己的base.html
,你应该按照我上面提到的,你会拥有的templates/two_factor/core/login.html
。请注意,templates
它与您的其他apps
. 在templates
文件夹中,生成two_factor
文件夹,然后在其中,生成core
文件夹,然后在该生成文件夹中login.html
。您现在可以随意修改它。
您想要覆盖但不更改包目录中的内容的原因是因为当您更新包时,您必须手动再次进行更改。
上述方法有效的原因是因为我们'DIRS': [os.path.join(BASE_DIR, 'templates')]
输入了设置,Django 将首先在该文件夹中查找模板。该方法的详细应用在这里从项目的模板目录中重写
推荐阅读
- c - 您如何将函数调用表示为序列图中的 if 条件语句?
- angular - Angular 7 Router 不断将我重定向到 404 not found 页面
- python - + 不支持的操作数类型:“ManagedProperties”和“float”python 3
- javascript - 替换 JSON 文件中的整个数据块
- aws-cdk - 如何检索 AWS ServiceCatalog 产品组合 ID 和产品 ID
- c - 发现为什么这些循环被标记为“无效的语句”的问题(警告:无效的语句 [-Wunused-value])
- javascript - Axios CORS 仅适用于无效请求
- django - 列表到字典并以所需格式打印
- javascript - NodeJS 中将产生的线程数
- python - vb.net 代码在 python 中转换。.net for 循环到 python for 循环