Vie*_*iet 17 django django-admin forgot-password
如何将忘记密码功能添加到Django管理站点?有电子邮件/安全问题选项吗?有插件/扩展吗?
Lak*_*sad 30
它们都是在django中建造的.只需添加相关的网址格式.如下.
from django.contrib.auth import views as auth_views
patterns+=('',
url(r'^passreset/$',auth_views.password_reset,name='forgot_password1'),
url(r'^passresetdone/$',auth_views.password_reset_done,name='forgot_password2'),
url(r'^passresetconfirm/(?P<uidb36>[-\w]+)/(?P<token>[-\w]+)/$',auth_views.password_reset_confirm,name='forgot_password3'),
url(r'^passresetcomplete/$',auth_views.password_reset_complete,name='forgot_password4'),
)
Run Code Online (Sandbox Code Playgroud)
而且,哦,当你在它时,也添加视图和URL模式密码更改.
url(r'^password/change/$',
auth_views.password_change,
name='auth_password_change'),
url(r'^password/change/done/$',
auth_views.password_change_done,
name='auth_password_change_done'),
Run Code Online (Sandbox Code Playgroud)
当然,它们列在文档中.
您必须提供自己的模板.
实际上,自Django 1.4以来,有一种简单的方法可以将忘记的密码链接直接显示在管理员登录页面中(这听起来像提出的确切问题):
https://docs.djangoproject.com/en/2.1/ref/contrib/admin/#adding-a-password-reset-feature
您可以通过向URLconf添加几行来向管理站点添加密码重置功能.具体来说,添加以下四种模式:
url(r'^admin/password_reset/$',
'django.contrib.auth.views.password_reset',
name='admin_password_reset'), (r'^admin/password_reset/done/$',
'django.contrib.auth.views.password_reset_done'),
(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$',
'django.contrib.auth.views.password_reset_confirm'),
(r'^reset/done/$',
'django.contrib.auth.views.password_reset_complete'),
Run Code Online (Sandbox Code Playgroud)
(这假设您已经在admin /添加了管理员,并要求您在包含管理员应用程序本身的行之前放置以^ admin /开头的URL).
更改为Django 1.4 admin_password_reset命名URL的存在将导致"忘记密码?"链接出现在密码框下的默认管理登录页面中
| 归档时间: |
|
| 查看次数: |
6790 次 |
| 最近记录: |