Переопределить шаблоны в Django-Allauth
Я прочитал все возможные решения, которые я могу найти в Stackru, и прошел через документы Аллаута. Все еще не в состоянии указать на мои локальные (в моем проекте Django) шаблоны вместо шаблонов Аллаута (например, логин, регистрация и т. Д.)
1. Переместил мои приложения перед аллаутами в settings.py INSTALLED_APPS, чтобы это выглядело так:
'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. account 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 %}
Должно быть, я делаю что-то глупое, но не могу этого найти. Спасибо за помощь!
1 ответ
Сделайте так, чтобы структура вашего шаблона соответствовала этому:
# correct
templates\account
templates\openid
templates\socialaccount
Похоже, у вас есть один ко многим каталогам:
# incorrect
templates\allauth\account
templates\alluth\openid
templates\alluth\socialaccount
Ссылка на источник Аллаута [1] для справки
[1] https://github.com/pennersr/django-allauth/tree/master/allauth/templates