在Django中为其他用户应用实现重置密码

问题描述

我有两个两个应用程序,可以处理项目中的两种用户。这两种用户站点上具有不同的特权(我也基于这两个用户帐户应用程序具有组)。 问题是认值。

来自django.contrib.auth的

将视图导入为auth_views 在contrib / admin / templates / registration中只有一种文件结构。

对于不同的应用程序,我在urls.py中拥有它:

path('reset_password/',auth_views.PasswordResetView.as_view(template_name="users/reset_password.html"),name="reset_password"),path('reset_password_sent/',auth_views.PasswordResetDoneView.as_view(template_name="users/password_reset_sent.html"),name="password_reset_done"),path('reset/<uidb64>/<token>/',auth_views.PasswordResetConfirmView.as_view(template_name="users/password_reset_form.html"),name="password_reset_confirm"),path('reset_password_complete/',auth_views.PasswordResetCompleteView.as_view(template_name="users/password_reset_done.html"),name="password_reset_complete"),

对于第二个应用程序,我在urls.py中找到了它

path('reset_password/',auth_views.PasswordResetView.as_view(template_name="companyusers/reset_password.html"),auth_views.PasswordResetDoneView.as_view(template_name="companyusers/password_reset_sent.html"),auth_views.PasswordResetConfirmView.as_view(template_name="companyusers/password_reset_form.html"),auth_views.PasswordResetCompleteView.as_view(template_name="companyusers/password_reset_done.html"),

但是,除非我将html文件放在项目的常规模板文件夹中,否则django似乎找不到模板路径:

path('reset_password/',auth_views.PasswordResetView.as_view(template_name="reset_password.html"),auth_views.PasswordResetDoneView.as_view(template_name="password_reset_sent.html"),auth_views.PasswordResetConfirmView.as_view(template_name="password_reset_form.html"),auth_views.PasswordResetCompleteView.as_view(template_name="password_reset_done.html"),

因此,当用户重设密码时,最终的登录页面仅指向一个用户登录页面。同时,项目中的两个应用程序具有两个不同的登录页面

当我尝试对重置密码的url路径使用url name-spacing时,django无法找到它们,因为它们不在根目录中。

请如何在一个项目中为两个不同的应用创建不同的重置密码机制,该机制将重定向到不同的登录页面

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)