我几乎要放弃重写模板了。它对我来说不起作用。它始终在默认目录中查找模板:
/Library/Python/2.7/site-packages/allauth/templates/account
我已经尝试了几乎所有我发现的: https://stackoverflow.com/a/18811664/3348531 https://stackoverflow.com/a/40065009/3348531
我的目录结构:
myproject
myproject
myapp
templates
accounts
login.html
...
但我也尝试过:
myproject
myproject
myapp
templates
myapp
accounts
login.html
...
没有任何作用
--urls.py
urlpatterns = [
url(r'^accounts/', include('allauth.urls')),
...
--settings.py
INSTALLED_APPS = [
'formimmapp.apps.FormimmappConfig',
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'formtools',
'crispy_forms',
]
TEMPLATE_DIRS = (os.path.join(PROJECT_DIR, 'templates'),)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
# 'DIRS': [os.path.join(BASE_DIR,'templates')],
'DIRS': [os.path.join(PROJECT_DIR, 'templates')],
# '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',
],
},
},
]
Django 版本
1.10.1
最佳答案
这是一个很容易犯的错误。许多人将其添加到他们的 urls.py 的以下行中,并认为模板应该放入名为accounts的文件夹中
url(r'^accounts/', include('allauth.urls')),
但事实并非如此,这只是登录 url 的 url 映射。应用名称来自
'allauth',
'allauth.account',
在你的 django settings.py 中,但你拥有的是一个带有帐户的文件夹结构s
myproject
myproject
myapp
templates
myapp
accounts
将其重命名为 account 就可以了
关于python - 覆盖模板 django-allaut,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42289988/