Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何重置密码Django?_Python_Django - Fatal编程技术网

Python 如何重置密码Django?

Python 如何重置密码Django?,python,django,Python,Django,不知怎么的,我几乎找不到这方面的任何信息。我找到了一个教程,但它已经有4年历史了,似乎没有多大帮助。我也看过了,但没有给出很多示例代码 我已设置了我的URL.py: from django.conf.urls import url from . import views from django.contrib.auth import views as auth_views urlpatterns = [ url(r'^login/$', views.login_view, name='

不知怎么的,我几乎找不到这方面的任何信息。我找到了一个教程,但它已经有4年历史了,似乎没有多大帮助。我也看过了,但没有给出很多示例代码

我已设置了我的
URL.py

from django.conf.urls import url
from . import views
from django.contrib.auth import views as auth_views

urlpatterns = [
    url(r'^login/$', views.login_view, name='login'),
    url(r'^password_reset/$', auth_views.password_reset, {'post_reset_redirect' : '/accounts/password_reset_done/'}, name='password_reset'),
    url(r'^password_reset_done/$', auth_views.password_reset_done, name='password_reset_done'),
    url(r'^password_reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$', auth_views.password_reset_confirm, {'post_reset_redirect' : '/accounts/password_done/'}, name='password_reset_confirm'),
    url(r'^password_done/$', auth_views.password_reset_complete, name='password_done'),
    url(r'^auth/$', views.login_auth, name='login_auth'),
    url(r'^register/$', views.register_user, name='register'),
    url(r'^logout/$', views.logout_user, name='logout'),
]
从django.conf.url导入url
从…起导入视图
从django.contrib.auth导入视图作为auth_视图
URL模式=[
url(r“^login/$”,views.login\u view,name='login'),
url(r“^password\u reset/$”,auth\u views.password\u reset,{'post\u reset\u redirect':'/accounts/password\u reset\u done/'),name='password\u reset'),
url(r“^password\u reset\u done/$”,auth\u views.password\u reset\u done,name='password\u reset\u done'),
url(r'^password\u reset/(?P[0-9A-Za-z]+)-(?P.+)/$,auth\u views.password\u reset\u confirm,{'post\u reset\u redirect':'/accounts/password\u done/'),name='password\u reset\u confirm',
url(r“^password\u done/$”,auth\u views.password\u reset\u complete,name='password\u done'),
url(r'^auth/$,views.login\u auth,name='login\u auth'),
url(r“^register/$”,views.register\u user,name='register'),
url(r“^logout/$”,views.logout\u user,name='logout'),
]
从我收集的资料来看,除非我使用自定义模板(由于无法使用附带的Django版本,我没有尝试过),否则一切都是在
url.py
中完成的

我可以获得
reset\u密码
页面以进行加载:

但是当我提交表单时,我得到以下错误:


我刚刚花了两个小时解决了这个完全相同的问题,以便加载
reset\u password
页面,现在同样的问题正在发生,就在
reset\u password\u confirm
部分。我已经研究了一系列解决这个错误的问题,但我不知道是什么导致了这个问题。处理
urls.py中的几行似乎没有那么难…

url(r'^password_reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})$', auth_views.password_reset_confirm, {'post_reset_redirect' : '/accounts/password_done/'}, name='password_reset_confirm'),
url(r'^password\u reset/(?P[0-9A-Za-z\-])/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})$,auth_views.password\u reset\u confirm,{'post\u reset\u redirect':'/accounts/password\u done/',name='password reset\u confirm',

从日志中,我可以看到它希望uidb64更新您的URL.py

url(r'^password_reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})$', auth_views.password_reset_confirm, {'post_reset_redirect' : '/accounts/password_done/'}, name='password_reset_confirm'),
url(r'^password\u reset/(?P[0-9A-Za-z\-])/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})$,auth_views.password\u reset\u confirm,{'post\u reset\u redirect':'/accounts/password\u done/',name='password reset\u confirm',

从日志中,我可以看到它期望uidb64,这正是我从文档中得到的,它工作得非常完美

url(r'^admin/', include(admin.site.urls), name='admin'),  # admin interface
url(r'^login/', LoginView.as_view(), name='Login'),  # for user login
url(r'^logout/', LogoutView.as_view(), name='Logout'),  # logout
url(r'',include(admin.site.urls), name='admin'),  # logout
url(r'^admin/password_reset/$', auth_views.password_reset, name='admin_password_reset'),
url(r'^admin/password_reset/done/$', auth_views.password_reset_done, name='password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$', auth_views.password_reset_confirm, name='password_reset_confirm'),
url(r'^reset/done/$', auth_views.password_reset_complete, name='password_reset_complete'),
url(r'^admin/',包括(admin.site.url),name='admin'),#管理界面
用户登录的url(r'^login/',LoginView.as_view(),name='login'),#
url(r“^logout/”,LogoutView.as_view(),name='logout'),#logout
url(r“”,包括(admin.site.url),name='admin'),#注销
url(r“^admin/password\u reset/$”,auth\u views.password\u reset,name='admin\u password\u reset'),
url(r“^admin/password\u reset/done/$”,auth\u views.password\u reset\u done,name='password\u reset\u done'),
url(r'^reset/(?P[0-9A-Za-z\-]+)/(?P.+)/$”,auth_views.password_reset_confirm,name='password_reset_confirm'),
url(r“^reset/done/$”,auth_views.password_reset_complete,name='password_reset_complete'),

希望有帮助。

这正是我从文档中得到的,效果非常好

url(r'^admin/', include(admin.site.urls), name='admin'),  # admin interface
url(r'^login/', LoginView.as_view(), name='Login'),  # for user login
url(r'^logout/', LogoutView.as_view(), name='Logout'),  # logout
url(r'',include(admin.site.urls), name='admin'),  # logout
url(r'^admin/password_reset/$', auth_views.password_reset, name='admin_password_reset'),
url(r'^admin/password_reset/done/$', auth_views.password_reset_done, name='password_reset_done'),
url(r'^reset/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$', auth_views.password_reset_confirm, name='password_reset_confirm'),
url(r'^reset/done/$', auth_views.password_reset_complete, name='password_reset_complete'),
url(r'^admin/',包括(admin.site.url),name='admin'),#管理界面
用户登录的url(r'^login/',LoginView.as_view(),name='login'),#
url(r“^logout/”,LogoutView.as_view(),name='logout'),#logout
url(r“”,包括(admin.site.url),name='admin'),#注销
url(r“^admin/password\u reset/$”,auth\u views.password\u reset,name='admin\u password\u reset'),
url(r“^admin/password\u reset/done/$”,auth\u views.password\u reset\u done,name='password\u reset\u done'),
url(r'^reset/(?P[0-9A-Za-z\-]+)/(?P.+)/$”,auth_views.password_reset_confirm,name='password_reset_confirm'),
url(r“^reset/done/$”,auth_views.password_reset_complete,name='password_reset_complete'),

希望对您有所帮助。

您需要从web上下载吗?您可以从shell
user=user.objects.get(username='myadmin')
user.set\u password('mynewpassword')
我确实需要从web上查看重置模式。您需要从web上使用它吗?您可以通过shell
user=user.objects.get(username='myadmin')
user.set\u password('mynewpassword')
从web查找重置模式时确实需要它。更改为
uidb64
似乎无法解决问题。上面的代码对我有用。你能试试这个吗,url(r'^password\u reset/(?P[0-9A-Za-z\-]+)/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$,auth_views.password\u reset\u confirm,{post\u reset\u redirect':'/accounts/password\u done/},name='password\u reset\u confirm')仍然有同样的问题。是否有可能是另一个文件中的某些内容导致了这种情况?正如您所说,它对您有效,我看不出
url.py
代码有任何错误。更改为
uidb64
似乎无法解决问题。上面的代码对我有效。你能试试这个吗,url(r'^password\u reset/(?P[0-9A-Za-z\-]+)/(?P[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20})/$,auth_views.password\u reset\u confirm,{post\u reset\u redirect':'/accounts/password\u done/},name='password\u reset\u confirm')仍然有同样的问题。是否有可能是另一个文件中的某些内容导致了这种情况?正如您所说,它适合您,我看不出
urls.py
代码有任何错误。