переопределение стандартных шаблонов django-allauth - PullRequest
26 голосов
/ 25 февраля 2012

Я использовал эту социальную библиотеку регистрации / регистрации Джанго Аллах для моего проекта.Как настроить шаблоны и формы по умолчанию для лучшего внешнего вида?

Ответы [ 7 ]

21 голосов
/ 05 марта 2012

Предполагая, что вы установили каталог шаблонов уровня проекта с использованием параметра TEMPLATE_DIRS, например:

TEMPLATE_DIRS = (os.path.join(PROJECT_DIR, 'templates'),)

Вы сможете скопировать все папки, показанные здесь , в этот каталоги редактировать их, как вам нужно.Большинство шаблонов, кажется, заполняют блок {% block content %}, поэтому, вероятно, проще всего, если ваш шаблон site_base.html где-то определяет этот блок.

Если вы не установили TEMPLATE_DIRS, вы можете сделать то же самоено скопируйте папки с шаблонами в каталог templates одного из ваших приложений.Я предпочитаю установить TEMPLATE_DIRS и оставить там основные шаблоны сайтов, такие как base.html, поскольку они на самом деле не принадлежат конкретному приложению, но это на самом деле просто предпочтение;загрузчик шаблонов должен найти их в любом случае.

12 голосов
/ 05 марта 2012

последняя версия all-auth на github имеет свои шаблоны снаружи, а та, что на Pypi - нет, все, что вам нужно сделать, это клонировать репозиторий в каталоге вашего проекта и переопределить шаблоны. Так просто.

11 голосов
/ 06 апреля 2016

В ваших взглядах:

from allauth.account.views import SignupView, LoginView


class MySignupView(SignupView):
    template_name = 'my_signup.html'


class MyLoginView(LoginView):
    template_name = 'my_login.html'

Обратите внимание на примеры и документы для структурирования ваших собственных шаблонов.

Посмотрите этот фрагмент в примерах шаблонов, хотя:

<form id="signup_form" method="post" action="{% url 'account_signup' %}">

Мне пришлось удалить ссылку URL, чтобы она работала правильно в моем собственном шаблоне:

<form id="signup_form" method="post" action="">'
8 голосов
/ 06 марта 2012

Используйте ту же логику, что и , переопределяя шаблоны администратора .

3 голосов
/ 25 февраля 2012

Посмотрите на приложение example; в нем есть папка templates, в которой указано расположение необходимых шаблонов

2 голосов
/ 05 марта 2012

Чтобы настроить django-allauth после его установки, скопируйте его из пакетов сайта и вставьте в каталог приложений вашего проекта.Таким образом, используемое по умолчанию приложение allauth и его шаблоны будут такими же, как в приложении allauth вашего проекта.Затем, если вы хотите изменить signup.html из socialaccount , перейдите в apps \ allauth \ templates \ socialaccount \ signup.html и измените его, отредактировав внутри 'Тег содержимого блока:

{% block content %}
    // your customized html for signup form
{% endblock %}

Надеюсь, это поможет вам.

1 голос
/ 13 октября 2017

Все это хорошие предложения.

Большинство из них должно работать.

Однако единственное, что сработало для меня, - это включить мои собственные шаблоны в "project / app / templates / account /" и убедиться, что "django-allauth" включен в список INSTALLED_APPS после мое собственное приложение.

Я обнаружил это здесь .

...