2011-07-11 92 views

回答

5

不,它看起来对这些模板在“注册”目录中的模板文件夹中。

从文档:

这是你的责任,以提供默认模板称为注册/ login.html的登录表单。

密码重置可选参数:

TEMPLATE_NAME:用来显示密码重置表单模板的全名。如果没有提供,这将默认为registration/password_reset_form.html

文档:loginpassword_reset

+0

我隐约记得,Django在Django网站的某处在线上有这些模板,但我无法挖掘它。所有auth视图都有模板。 –

+0

这很有趣,我从来没有听说过或见过这些。你确定它是在Django网站上,而你自己并不记得这些表单吗? –

+0

我找到了。他们在这里:http://devdoodles.wordpress。COM/2009/02/16 /用户认证与 - django的登记/。该帖子已过时,但大多数表单在您添加CSRF令牌后都能正常工作。 –

5

您可以在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管理的外观和感觉,所以我会建议定制它。

+0

你如何去添加这些项目? – Rebs

+0

只是将它们复制到您的模板dir –

4

通过复制上述DZPM提到的位于django.contrib.admin.templates.registration中的模板,并将它们放入您自己的注册应用程序的模板目录中,例如* your_proj_root/registration/templates/registration/*

重要!如果你保持你的模板完全相同的文件名,你要记住,以确保您的django.contrib.admin应用线放置下面注册应用线;否则,它将优先使用django.contrib.admin的注册模板。

16

尽管Django documentation明确指出“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管理的外观和感觉。

+0

'/ login' result in'Unknown template variable title' - Django 1.9.2 – Rebs

+0

支持'url()'中的字符串视图参数[已被移除与Django 1.10](https://docs.djangoproject.com/en/1.11/releases/1.10/#features-removed-in-1-10)。使用'from import django.contrib.auth.views import login'和'url(r'^ accounts/login/$',login,...'来代替。 – Evert