Переопределить шаблоны в 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

Другие вопросы по тегам