Поставляется ли Django с шаблонами аутентификации для использования с модулем django.contrib.auth?

Я нашел некоторые в каталоге tests, но я не уверен, что они правильные.

Под шаблонами аутентификации я подразумеваю login.htm, password_reset.htm и т. д.

Некоторые шаблоны можно найти по адресу: http://devdoodles.wordpress.com/2009/02/16/user-authentication-with-django-registration/


person Mridang Agarwalla    schedule 11.07.2011    source источник


Ответы (4)


Нет, он ищет эти шаблоны в каталоге «registration» в папке с вашими шаблонами.

Из документов:

Вы несете ответственность за предоставление формы входа в шаблон с именем Registration/login.html по умолчанию.

Сброс пароля Необязательные аргументы:

имя_шаблона: полное имя шаблона, используемого для отображения формы сброса пароля. По умолчанию это значение равно registration/password_reset_form.html, если оно не указано.

Документы: логин, сброс_пароля

person rolling stone    schedule 11.07.2011
comment
Я смутно припоминаю, что у Django были эти шаблоны где-то в сети на сайте Django, но я не могу их найти. Были шаблоны для всех представлений авторизации. - person Mridang Agarwalla; 11.07.2011
comment
Интересно, я о таких никогда не слышал и не видел. Вы уверены, что это было на сайте Django, и что вы не помните сами формы? - person rolling stone; 11.07.2011
comment
Я нашел это. Они были здесь: devdoodles.wordpress.com/2009. /16/02/. Сообщение старое, но большинство форм работают после добавления токена CSRF. - person Mridang Agarwalla; 25.07.2011
comment
Django 2.0 поставляется со встроенными шаблонами для сброса пароля. На самом деле, я изо всех сил пытаюсь переопределить их сейчас. - person HashRocketSyntax; 13.03.2018

Хотя в документация Django прямо указано, что "Django не предоставляет шаблона по умолчанию для представлений аутентификации», я обнаружил, что использовать шаблоны администратора тривиально. Просто включите приложение администратора, а затем добавьте это в urls.py:

url(r'^accounts/login/$', 'django.contrib.auth.views.login', {'template_name': 'admin/login.html'}),
url('^accounts/', include('django.contrib.auth.urls')),

Все URL-адреса аутентификации теперь работают, хотя и с внешним видом администратора Django.

person Travis    schedule 19.05.2013
comment
/login результат Unknown template variable <Variable: u'title'> title - Джанго 1.9.2 - person Rebs; 29.02.2016
comment
Поддержка аргументов строкового представления в url() была удалено с Django 1.10. Вместо этого используйте from import django.contrib.auth.views import login и url(r'^accounts/login/$', login, .... - person ; 16.06.2017

Вы можете использовать шаблоны авторизации по адресу django.contrib.admin. templates.registration:

logged_out.html
password_change_done.html
password_change_form.html
password_reset_complete.html
password_reset_confirm.html
password_reset_done.html
password_reset_email.html
password_reset_form.html

Они будут выглядеть так же, как Django Admin, поэтому я бы предложил настроить его.

person David Arcos    schedule 11.07.2011
comment
Как вы собираетесь добавлять их в проект? - person Rebs; 29.02.2016
comment
Просто скопируйте их в каталог вашего шаблона - person David Arcos; 29.02.2016

Скопировав шаблоны, расположенные в django.contrib.admin.templates.registration, как указано DZPM выше, и поместив их в каталог шаблонов вашего собственного регистрационного приложения, например. *your_proj_root/registration/templates/registration/*

ВАЖНО! Если вы сохраняете одинаковые имена файлов для своих шаблонов, не забудьте убедиться, что строка вашего приложения django.contrib.admin расположена ниже строка вашего регистрационного приложения; в противном случае будут использоваться шаблоны регистрации django.contrib.admin.

person Calvin Cheng    schedule 08.08.2011