2017-05-04 120 views
0

我是python和Django框架的新手,我創建了一個可以正常工作的登錄表單,但唯一的問題是我無法在輸入密碼時掩蓋密碼。在Django中掩蓋密碼

Views.py

class LoginFormView(FormView): 
template_name = 'Login/login-page.html' 
form_class = AuthenticationForm 

def form_valid(self, form): 
    login(self.request, form.get_user()) 
    return redirect('personal:index') 

登錄/註冊-page.html中

{% block content %} 
 
    <form class="form-horizontal" method="post" enctype="multipart/form-data"> 
 
     {% csrf_token %} 
 
     {% for field in form %} 
 
      <div class="form-group"> 
 
       <label for="{{ field.id_for_label }}" class="col-sm-2 control-label">{{field.html_name}}</label> 
 
       <div class="col-sm-5"> 
 
        <input class="form-control" id="{{ field.id_for_label }}" name="{{ field.html_name }}" /> 
 
       </div> 
 
      </div> 
 
     {{ field.errors }} 
 
     {% endfor %} 
 
     <div class="form-group"> 
 
     <div class="col-sm-offset-2 col-sm-10"> 
 
      <button type="submit" class="btn btn-success "> 
 
      <span class="glyphicon glyphicon-log-in" aria-hidden="true"></span> Sign in 
 
      </button> 
 
     </div> 
 
     </div> 
 
    </form> 
 
{% endblock %}

每當我試着在views.py中添加以下代碼

password = forms.CharField(widget=PasswordInput) 

我沒有任何影響,如果我嘗試用form_class,而不是它不工作類型對象AuthenticationForm「形式相同的有沒有屬性「CharField」

在login-page.html中我有

而且使用默認類型設置爲文本的輸入標籤是否有辦法將其更改爲密碼?正如我在表格中的字段上循環一樣。

請讓我知道我要去哪裏錯了。

感謝和問候, Chinmay斯瓦米

+2

的可能的複製[如何創建在Django密碼輸入欄(http://stackoverflow.com/問題/ 9324432/how-to-create-password-input-field-in-django) –

+0

其實我看過這篇文章,但它基於ModelForm,但我使用的是FormView,因此我無法將它與我的問題聯繫起來 – ChinmaySwami

回答

1

嘗試增加給表單:

widget=forms.TextInput(attrs={'type' : 'password'}) 
+0

嗨它沒有工作。我在views.py中添加了以下內容 password = forms.CharField(widget = forms.TextInput(attrs = {'type':'password'})) – ChinmaySwami

+0

您正在將它添加到視圖中嗎?你沒有單獨的forms.py文件嗎? - 我用自己的形式測試了這段代碼,它確實有效。顯示您的整個表單的密碼,以便我可以看到。 – drew

+0

你好,安德魯抱歉,延遲響應我開發了應用程序的其餘部分。 其實我沒有創建foms.py,因爲我使用的是AuthenticationForm 但是, 我確實有一個forms.py,我用於註冊用戶,在那裏我添加了代碼,但它似乎仍然不起作用。我懷疑罪魁禍首是在HTML代碼 類型沒有根據字段 – ChinmaySwami