2016-09-28 28 views
0

我試圖創建一個視圖以允許用戶創建另一個用戶。問題是生成的表單具有「密碼」和「姓氏」字段的初始值,我不知道爲什麼。我需要刪除這些初始值。用戶表單具有不需要的初始值的字段Django

我用ModelForm創建了一個UserForm。

class UserForm(forms.ModelForm): 
    # I've tried this, but it doesn't change anything 
    #def __init__(self, *args, **kwargs): 
     #super(UserForm, self).__init__(*args, **kwargs) 
     #self.fields['password'].value = '' 
     #self.fields['last_name'].value = '' 

    password = forms.CharField(widget=forms.PasswordInput(render_value=True)) 

    class Meta: 
     model = User 
     fields = [ 
      'username', 'email', 'first_name', 'last_name' 
     ] 

然後我有看法。我使用相同的模式爲視圖編寫了視圖,以便爲其他對象創建視圖。有這個問題後,我寫了視圖下到這一點:

def create_user(request): 
    user_form = UserForm() 

    context = { 
     "user_form": user_form, 
    } 
    return render(request, "remote/user/user_create_form.html", context) 

我希望,如果我只是想顯示的形式,而不是處理表單數據,就不會出現這個問題,但它確實。

我的模板有這個(我使用酥脆形式):

<form action="" method="POST">{% csrf_token %} 
    {{ user_form|crispy }} 
    <input type="submit" class="btn btn-primary" value="Registar" /> 
</form> 

這裏是形式的樣子開始: password and last_name fields have initial values

+1

我想這是你的瀏覽器填寫密碼存儲的形式。 –

回答

0

這是因爲在測試時,你可能已經使用瀏覽器的功能保存字段和表單數據,即自動保存密碼。它通常會保存密碼和表單的前一個字段。請清除緩存並從瀏覽器設置中創建自動填充數據。讓我們知道如果錯誤仍然存​​在。 謝謝

+0

我做了你的建議和它的工作。謝謝。我想我只是困惑,爲什麼自動填充出現在'last_name'字段而不是'用戶名'。 –

+0

乾杯..!快樂編碼:) –

相關問題