2

在我的登錄頁面上的django應用程序中,我想要一個請求密碼按鈕,其功能類似於單擊此按鈕時,我會從用戶收到每封電子郵件的請求,爲該用戶提供該網站的密碼。在模板登錄html的我做了這個變化:如何在django登錄中添加密碼請求按鈕?

{% extends "base.html" %} 
    {% load url from future %} 

    {% block site_contents %} 

    {% if form.errors %} 
    <p>Your username and password didn't match. Please try again.</p> 
    {% endif %} 

    <form method="post" action="{% url 'django.contrib.auth.views.login' %}"> 
    {% csrf_token %} 
    <table> 
    <tr> 
    <td>{{ form.username.label_tag }}</td> 
    <td>{{ form.username }}</td> 
    </tr> 
    <tr> 
    <td>{{ form.password.label_tag }}</td> 
    <td>{{ form.password }}</td> 
    </tr> 
    </table> 
    <input type="submit" name="request_password" value="Request Password" /> 
    <input type="submit" value="login" /> 
    <input type="hidden" name="next" value="{{ next }}" /> 
    </form> 

    {% endblock %} 

凡在我的意見可以編寫代碼來捕獲事件request_password,寫我的代碼通過電子郵件發送至用戶的請求amdin?

在此先感謝

回答

1

我想這會更容易通過創建一個新的形式和它指向你自己的觀點做。或者,如果你想擁有它的一種形式,你也許可以創造的線沿線的一個觀點:

from django.contrib.auth.views login as original_login 
def my_login(request): 
    if request.method == 'POST' and 'request_password' in request.POST: 
     # process password request somehow 
    else: 
     return original_login(request) 

修改的Django提供的意見將可能只是從長遠來看對你複雜的事情。

+0

感謝您的解決方案,我使用另一種形式來執行操作併爲此創建一個視圖。 – Karan 2012-07-18 11:06:27