2016-09-28 13 views
0

ユーザーが別のユーザーを作成できるようにビューを作成しようとしています。問題は、生成されたフォームが 'password'フィールドと 'last_name'フィールドの初期値を持っていて、なぜそれがわからないということです。私はそれらの初期値を削除する必要があります。ユーザーフォームに不要な初期値フィールドがあります。Django

私はModelFormでユーザーフォームを作成しました。

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

私はあなたが提案したことをして、それは働いた。ありがとうございました。私はちょうどなぜautofillが 'username'の代わりに 'last_name'フィールドに現れたのか混乱していたと思います。 –

+0

乾杯!..!ハッピーコーディング:) –

関連する問題