Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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/3/gwt/3.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注册Redux应用程序_Python_Django_Django Registration_Reset Password - Fatal编程技术网

Python 密码重置功能Django注册Redux应用程序

Python 密码重置功能Django注册Redux应用程序,python,django,django-registration,reset-password,Python,Django,Django Registration,Reset Password,我已经在我的项目中安装了Django Registration Redux应用程序,并设置了默认的一步注册后端,到目前为止效果良好。现在我想通过添加密码更改机制来扩展我的应用程序的功能。任何我可以开始寻找的想法或链接 提前谢谢 PD:Django注册redux文档与此主题无关。这些链接可能有用: django注册redux也支持密码更改功能。对于密码更改,url为http://your-port-number/accounts/password/change。输入http://your-

我已经在我的项目中安装了Django Registration Redux应用程序,并设置了默认的一步注册后端,到目前为止效果良好。现在我想通过添加密码更改机制来扩展我的应用程序的功能。任何我可以开始寻找的想法或链接

提前谢谢


PD:Django注册redux文档与此主题无关。

这些链接可能有用:


    • django注册redux也支持密码更改功能。对于密码更改,url为
      http://your-port-number/accounts/password/change
      。输入
      http://your-port-address/accounts/
      ,您将在屏幕itslef上获得有关url映射的所有信息。使用这些url映射,您可以编写特定的html模板,并直接在应用程序中使用它们。可以找到注册模板
      希望这能有所帮助。

      莱夫·阿佐帕迪和大卫·麦克斯韦的《带丹戈的探戈》一书在第11章中包含了一个使用“丹戈注册Redux应用程序”的好例子。本章详细解释了安装/设置此模块的过程,并以清晰简洁的方式配置设置、视图和URL模式

      根据这本书,模块“Django Registration Redux”没有为它公开的URL提供模板。您需要手动创建这些模板-,因为这些模板往往是特定于应用程序的。(您应该在项目的模板目录中创建一个名为
      registration
      的目录来存储这些模板文件。)您还应该查看以获取一些提示来构建自己的模板。我的如下(基于他的模板):

      如前面的回答所述,更改登录用户密码的url为
      http:///accounts/password/change
      。 您应该通过更新菜单项向登录用户提供此url以供访问。继续本书的示例,我更新了我的基本模板,以公开密码更改url。考虑下面的代码:

      # <my_django_project_directory>/templates/<my_app_name>/base.html
      {% if user.is_authenticated %}
          <li><a href="{% url 'auth_logout' %}?next=/rango/">Logout</a></li>
          <li><a href="/accounts/password/change/">Change Password</a></li>
      {% else %}
          <li><a href="{% url 'auth_login' %}">Login</a></li>
          <li><a href="{% url 'registration_register' %}">Sign Up</a></li>
      {% endif %}
      
      #/templates//base.html
      {%if user.u经过身份验证%}
      
    • {%else%}
    • {%endif%}
      我希望这有帮助!如果没有的话,我强烈建议你阅读上面提到的那本书!简单的示例,简单易懂的说明,最重要的是,该示例在任何配置中都不会花费太多精力

      注:书籍示例基于django版本1.9。我的操作系统是Ubuntu 16.04和python版本-3.5.2。包含书中的工作示例


      您可以使用标准的
      django.contrib.auth
      模板标记,并在标记的开头添加
      auth
      。以下是如何在Django Registration Redux中设置
      auth_urls.py

      from django.conf.urls import url
      from django.contrib.auth import views as auth_views
      from django.urls import reverse_lazy
      
      urlpatterns = [
          url(r'^login/$',
              auth_views.LoginView.as_view(
                  template_name='registration/login.html'),
              name='auth_login'),
          url(r'^logout/$',
              auth_views.LogoutView.as_view(
                  template_name='registration/logout.html'),
              name='auth_logout'),
          url(r'^password/change/$',
              auth_views.PasswordChangeView.as_view(
                  success_url=reverse_lazy('auth_password_change_done')),
              name='auth_password_change'),
          url(r'^password/change/done/$',
              auth_views.PasswordChangeDoneView.as_view(),
              name='auth_password_change_done'),
          url(r'^password/reset/$',
              auth_views.PasswordResetView.as_view(
                  success_url=reverse_lazy('auth_password_reset_done')),
              name='auth_password_reset'),
          url(r'^password/reset/complete/$',
              auth_views.PasswordResetCompleteView.as_view(),
              name='auth_password_reset_complete'),
          url(r'^password/reset/done/$',
              auth_views.PasswordResetDoneView.as_view(),
              name='auth_password_reset_done'),
          url(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
              auth_views.PasswordResetConfirmView.as_view(
                  success_url=reverse_lazy('auth_password_reset_complete')),
              name='auth_password_reset_confirm'),
      ]
      
      从django.conf.url导入url
      从django.contrib.auth导入视图作为auth_视图
      从django.url导入反向链接
      URL模式=[
      url(r“^login/$”,
      auth_views.LoginView.as_view(
      模板_name='registration/login.html'),
      name='auth_login'),
      url(r“^logout/$”,
      auth_views.LogoutView.as_view(
      模板_name='registration/logout.html'),
      name='auth_logout'),
      url(r“^password/change/$”,
      auth_view.PasswordChangeView.as_view(
      success\u url=reverse\u lazy('auth\u password\u change\u done'),
      name='auth\u password\u change'),
      url(r“^password/change/done/$”,
      auth_views.PasswordChangeDoneView.as_view(),
      name='auth\u password\u change\u done',
      url(r“^password/reset/$”,
      auth_views.PasswordResetView.as_view(
      success\u url=reverse\u lazy('auth\u password\u reset\u done'),
      name='auth\u password\u reset'),
      url(r“^password/reset/complete/$”,
      auth_views.PasswordResetCompleteView.as_view(),
      name='auth\u password\u reset\u complete',
      url(r“^password/reset/done/$”,
      auth_views.PasswordResetDoneView.as_view(),
      name='auth\u password\u reset\u done',
      url(r'^password/reset/confirm/(?P[0-9A-Za-z \-])/(?P.+)/$),
      auth_views.PasswordResetConfirmView.as_view(
      success\u url=reverse\u lazy('auth\u password\u reset\u complete'),
      name='auth\u password\u reset\u confirm',
      ]
      
      我已经解决了检查一些代码示例的问题。谢谢,我投票支持了你的答案,如果你仍然没有代表发布第三个链接,我会为你修复它。
      # <my_django_project_directory>/templates/<my_app_name>/base.html
      {% if user.is_authenticated %}
          <li><a href="{% url 'auth_logout' %}?next=/rango/">Logout</a></li>
          <li><a href="/accounts/password/change/">Change Password</a></li>
      {% else %}
          <li><a href="{% url 'auth_login' %}">Login</a></li>
          <li><a href="{% url 'registration_register' %}">Sign Up</a></li>
      {% endif %}
      
      from django.conf.urls import url
      from django.contrib.auth import views as auth_views
      from django.urls import reverse_lazy
      
      urlpatterns = [
          url(r'^login/$',
              auth_views.LoginView.as_view(
                  template_name='registration/login.html'),
              name='auth_login'),
          url(r'^logout/$',
              auth_views.LogoutView.as_view(
                  template_name='registration/logout.html'),
              name='auth_logout'),
          url(r'^password/change/$',
              auth_views.PasswordChangeView.as_view(
                  success_url=reverse_lazy('auth_password_change_done')),
              name='auth_password_change'),
          url(r'^password/change/done/$',
              auth_views.PasswordChangeDoneView.as_view(),
              name='auth_password_change_done'),
          url(r'^password/reset/$',
              auth_views.PasswordResetView.as_view(
                  success_url=reverse_lazy('auth_password_reset_done')),
              name='auth_password_reset'),
          url(r'^password/reset/complete/$',
              auth_views.PasswordResetCompleteView.as_view(),
              name='auth_password_reset_complete'),
          url(r'^password/reset/done/$',
              auth_views.PasswordResetDoneView.as_view(),
              name='auth_password_reset_done'),
          url(r'^password/reset/confirm/(?P<uidb64>[0-9A-Za-z_\-]+)/(?P<token>.+)/$',
              auth_views.PasswordResetConfirmView.as_view(
                  success_url=reverse_lazy('auth_password_reset_complete')),
              name='auth_password_reset_confirm'),
      ]