如何覆盖 Django-allauth 提供的默认模板?
Posted
技术标签:
【中文标题】如何覆盖 Django-allauth 提供的默认模板?【英文标题】:How to over-ride the default templates provided by Django-allauth? 【发布时间】:2016-06-04 04:22:35 【问题描述】:我创建了 myapp/templates/account/base.html 和 myapp/templates/account/login.html,所以我认为应该更改模板。但是转到 /account/login 仍然会加载默认模板,而不是我的新模板。那么我该如何真正超越它们呢?
我的 settings.py
中有这个TEMPLATES = [
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS':
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
# `allauth` needs this from django
'django.template.context_processors.request',
],
,
,
]
有什么帮助吗?
【问题讨论】:
【参考方案1】:尝试将您的根目录添加到 DIRS
设置:
'DIRS': os.path.join(PROJECT_ROOT, 'templates'),
【讨论】:
【参考方案2】:我通过将它们放在我的模板文件夹根目录下的account
和/或socialaccount
中来覆盖它们。可以选择使用名为allauth
的父文件夹
你的结构看起来像:
模板 帐户 社交账号或
模板 allauth 帐户 社交账号原始模板可以在https://github.com/pennersr/django-allauth/tree/master/allauth/templates找到
【讨论】:
以上是关于如何覆盖 Django-allauth 提供的默认模板?的主要内容,如果未能解决你的问题,请参考以下文章
使用 django-allauth 启用 oauth 登录,但使用自定义提供程序