2015-05-01 51 views
0

我在從FORM標記中獲取數據時遇到了問題。MultiValueDictKeyError at/verification/

的login.html

<div class="account-wall"> 
    <img class="profile-img" src={% static "assets/images/umltopython.jpeg"%}"alt=""> 

    <form class="form-signin" action="{% url "verification" %}" method="POST"> 
      <input type="text" class="form-control" id="username" placeholder="Username" required autofocus> 
      <input type="password" class="form-control" id="password" placeholder="Password" required> 
      <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button> 
    </form> 
</div> 

views.py

def verification(request): 
    username = request.POST['username'] 
    #password = request.POST.get('password') 

    return HttpResponse(username) 

url.py

url(r'^login/$',person.views.login,name="login",), 
url(r'^verification/$',person.views.verification,name="verification",), 

誤差爲:enter image description here

回答

1

當HTML表單被序列化時,輸入的name屬性用作其值的鍵,而不是它們的ID。

例如,<input id="an_input" name="foo" value="bar">將被序列到foo=bar它Django將反序列化,more or less,爲Python dict,這裏:{'foo': 'var'}

所有你需要做的是:

<form class="form-signin" action="{% url "verification" %}" method="POST"> 
    <input type="text" class="form-control" id="username" name="username" placeholder="Username" required autofocus> 
    <input type="password" class="form-control" id="password" name="password" placeholder="Password" required> 
    <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button> 
</form> 
相關問題