覆盖 django-allauth 中的模板
override templates in django-allauth
我已经阅读了所有可以在 Whosebug 上找到的可能的解决方案,并阅读了 allauth 文档。仍然无法指向我的本地(在我的 Django 项目中)模板而不是 allauth 模板(即登录、注册等)
1.将我的应用程序移到 settings.py INSTALLED_APPS 中的 allauth 之前,这样它看起来像这样:
'users', #my custom user model app
'date_track.apps.DateTrackConfig', # main app
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.twitter',
]
2。修改了我的项目结构并将 allauth 模板(登录、注册等)移动到此位置。
- 现在的结构如下所示:
my_project/templates/allauth/
在这个目录中,我有 3 个 allauth 目录:
1.账户
2. openid
3.socialaccount
在这些目录中,我有所有的 allauth 模板,
另外,base.html
3。我已将 settings.py 中的模板设置修改为如下所示:
'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR,
'templates', 'allauth','accounts', 'socialaccount')],
然而,每当我从我的主页访问 link(它继承自我项目的 base.html)时,它会直接转到以下模板:
site-packages/allauth/templates/account 目录。
base.html 具有如下模板的 links:
{% if user.is_authenticated %}
<li class="nav-item">
<p><h6>You are Logged in as <I>{{user.username}}</I></h6></p>
</li>
<li class="nav-item">
<a class="nav-link active" href="{% url 'account_email'
%}">Email</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'account_logout' %}">Sign
out</a>
</li>
{% else %}
<li class="nav-item">
<a class="nav-link" href="{% url 'account_login' %}">Sign in</a>
</li>
<li class="nav-item">
<a class="nav-link " href="{% url 'account_signup' %}"
tabindex="-1">Sign up</a>
</li>
{% endif %}
我一定是在做什么傻事,但我似乎找不到。感谢您的帮助!
让您的模板目录结构与此匹配:
# correct
templates\account
templates\openid
templates\socialaccount
看起来你有一对多的目录:
# incorrect
templates\allauth\account
templates\alluth\openid
templates\alluth\socialaccount
Link 到 allauth 来源[1] 以供参考
[1] https://github.com/pennersr/django-allauth/tree/master/allauth/templates
我已经阅读了所有可以在 Whosebug 上找到的可能的解决方案,并阅读了 allauth 文档。仍然无法指向我的本地(在我的 Django 项目中)模板而不是 allauth 模板(即登录、注册等)
1.将我的应用程序移到 settings.py INSTALLED_APPS 中的 allauth 之前,这样它看起来像这样:
'users', #my custom user model app
'date_track.apps.DateTrackConfig', # main app
'django.contrib.sites',
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.twitter',
]
2。修改了我的项目结构并将 allauth 模板(登录、注册等)移动到此位置。
- 现在的结构如下所示:
my_project/templates/allauth/ 在这个目录中,我有 3 个 allauth 目录: 1.账户 2. openid 3.socialaccount
在这些目录中,我有所有的 allauth 模板, 另外,base.html
3。我已将 settings.py 中的模板设置修改为如下所示:
'DIRS': [os.path.join(BASE_DIR, 'templates'), os.path.join(BASE_DIR,
'templates', 'allauth','accounts', 'socialaccount')],
然而,每当我从我的主页访问 link(它继承自我项目的 base.html)时,它会直接转到以下模板: site-packages/allauth/templates/account 目录。
base.html 具有如下模板的 links:
{% if user.is_authenticated %}
<li class="nav-item">
<p><h6>You are Logged in as <I>{{user.username}}</I></h6></p>
</li>
<li class="nav-item">
<a class="nav-link active" href="{% url 'account_email'
%}">Email</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'account_logout' %}">Sign
out</a>
</li>
{% else %}
<li class="nav-item">
<a class="nav-link" href="{% url 'account_login' %}">Sign in</a>
</li>
<li class="nav-item">
<a class="nav-link " href="{% url 'account_signup' %}"
tabindex="-1">Sign up</a>
</li>
{% endif %}
我一定是在做什么傻事,但我似乎找不到。感谢您的帮助!
让您的模板目录结构与此匹配:
# correct
templates\account
templates\openid
templates\socialaccount
看起来你有一对多的目录:
# incorrect
templates\allauth\account
templates\alluth\openid
templates\alluth\socialaccount
Link 到 allauth 来源[1] 以供参考
[1] https://github.com/pennersr/django-allauth/tree/master/allauth/templates