2017-03-01 7 views
0

ここで私の質問はModelまたはforms.Formを使用せずにDjango requestオブジェクトを使用してフォームの値を取得できますか?Djangoフレームワークを使用してPythonでフォーム値を取得

問題を説明するための小さな例です。

HTMLコード:

<form action="/login/" method="post"> 
    {% csrf_token %} 
    <input type="text" id="USERNAME" class="text" value="USERNAME" > 
    <input type="password" id="Password" value="Password" > 
    <div class="submit"> 
     <input type="submit" onclick="myFunction()" value="LOGIN"> 
    </div> 
    <p><a href="#">Forgot Password ?</a></p> 
</form> 

views.pyコード:

def dologin(request): 
    print('i am in do login') 
    print(request.method) 
    print(request.POST) 
    for key, value in request.POST.iteritems(): 
     print(key , value) 

    return render(request,'webapp/login.html') 

だからここに私のキー値が常に空です。私は学んだとModelforms:Formを使用してHTMLフォームを作成するのに十分な能力があります。しかし、私はこのforms:Formオブジェクトをhtml定義されたフォームにマップする必要があるより多くのスタイルの変更を追加します。

ありがとうございます。

答えて

1

各入力

<form action="/login/" method="post"> 
    {% csrf_token %} 
    <input type="text" id="USERNAME" class="text" name="USERNAME" value="USERNAME" > 
    <input type="password" id="Password" value="Password" name="Password" > 
    <div class="submit"> 
     <input type="submit" onclick="myFunction()" value="LOGIN"> 
    </div> 
    <p><a href="#">Forgot Password ?</a></p> 
</form> 
+0

dammm ....どのように私はこれを逃すことができた。 – JBaba

0

HTMLフォーム要素には常にname属性が必要です。そうしないと、ブラウザはバックエンドにそれらを送信する方法を持たなくなります。これはPOST Dictのキーとなる属性です。

HTMLで独自に行うことができるフォーマットは、Djangoフォームでも可能です。あなたは本当にほとんどの状況でそれらを使用すべきです。

0

に名前を割り当て、すべてのフォーム・コンポーネントの名前を使用してHTML属性を追加してください。

関連する問題