我已经阅读了所有可以在StackOverflow上找到的解决方案,并通过了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。修改了我的项目结构,并将所有身份验证模板(登录,注册等)移到了该位置。
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')],
但是,每当我访问主页上的链接(该链接继承自项目的base.html)时,它都会直接转到以下模板: site-packages / allauth / templates / account目录。
base.html包含指向模板的链接,如下所示:
{% 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 %}
我一定在做些愚蠢的事情,但似乎找不到。感谢您的帮助!
答案 0 :(得分:0)
您的模板目录结构是否与此匹配:
# correct
templates\account
templates\openid
templates\socialaccount
您似乎拥有一对多目录:
# incorrect
templates\allauth\account
templates\alluth\openid
templates\alluth\socialaccount
链接到allauth来源[1]以供参考
[1] https://github.com/pennersr/django-allauth/tree/master/allauth/templates