Подтвердить что ты не робот

Переопределение стандартных шаблонов django-allauth

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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

Ответ 3

В ваших представлениях:

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="">'

Ответ 5

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

Ответ 6

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

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

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

Ответ 7

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

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

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

Я нашел здесь здесь.