Я использовал эту социальную регистрационную/регистрационную библиотеку django allauth для моего проекта. Как настроить шаблоны и формы по умолчанию, чтобы улучшить внешний вид?
Переопределение стандартных шаблонов django-allauth
Ответ 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="">'
Ответ 4
Используйте ту же логику, что и переопределить шаблоны администратора.
Ответ 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 после моего собственного приложения.
Я нашел здесь здесь.