我已經在我的項目中安裝了Django-Registration-Redux應用程序,並設置了默認的一步註冊後端,並且它迄今爲止工作正常。現在我想通過添加密碼更改機制來擴展我的應用程序的功能。任何想法或鏈接,我可以開始尋找。提前密碼重置功能Django-Registration-Redux應用程序
感謝
PD:Django的註冊,終極版的文檔不涉及這個話題。
我已經在我的項目中安裝了Django-Registration-Redux應用程序,並設置了默認的一步註冊後端,並且它迄今爲止工作正常。現在我想通過添加密碼更改機制來擴展我的應用程序的功能。任何想法或鏈接,我可以開始尋找。提前密碼重置功能Django-Registration-Redux應用程序
感謝
PD:Django的註冊,終極版的文檔不涉及這個話題。
可能是這個環節將是有益的: https://github.com/django/django/blob/master/django/contrib/auth/urls.py https://github.com/django/django/blob/master/django/contrib/auth/views.py 我需要至少10 reputatuion後超過2個鏈接 所以第三個環節是在github太: /Django的/ Django的/樹/主/ django/contrib/admin/templates/registration
django-registration-redux
也支持密碼更改功能。密碼更改的網址是http://your-port-number/accounts/password/change
。在您的本地主機中,一旦您輸入http://your-port-address/accounts/
,您將在屏幕上獲得有關url映射的所有信息。使用這些url映射,您可以編寫特定的html模板並直接在您的應用中使用它們。註冊模板可以找到here 希望這有助於。
通過雷夫·阿澤帕迪和大衛·馬克斯韋爾這本書「探戈的Django」包含在第11章本章詳細介紹使用「Django的登記,終極版的應用程序」一個很好的例子 - 過程中安裝/設置這個模塊並配置設置,查看&以清晰簡潔的方式呈現模式。
根據這本書,模塊'Django-Registration-Redux'沒有爲它公開的url提供模板。您需要手動創建這些模板 - ,因爲這些模板往往是特定於應用程序的。 (您應該在項目的模板目錄中創建一個名爲registration
的目錄以存儲這些模板文件。)您還應該看到Anders Hofstee's Templates需要一些提示來構建自己的模板。我的是如下(基於他的模板):
# <my_django_project_directory>/templates/accounts/password_change_form.html
{% extends "<my_app_name>/base.html" %}
{% block body_block %}
<h1>Change your password</h1>
<form method="post" action=".">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
{% endblock %}
假設你已經配置在該項目的settings.py
的模塊,你應該包括url_patterns
以下列表中的網址在項目的urls.py
文件 -
url(r'^accounts/', include('registration.backends.simple.urls')),
正如前面的答案所解釋的,更改登錄用戶的密碼的URL是http://<projects_root_url>/accounts/password/change
。 您應通過更新菜單項將此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 %}
我希望這有助於!如果沒有,那麼我強烈建議你閱讀上面提到的這本書!簡單的例子,簡單易懂的說明,最重要的是,這個例子並沒有在任何配置上花費太多精力。
注意:本書的示例基於django 1.9。我的操作系統是Ubuntu 16.04和python版本 - 3.5.2。 My repository包含書中的工作示例。
我已經解決了檢查一些代碼示例。謝謝我投票了你的答案 – 2015-04-14 20:35:28