2017-03-01 39 views
0

我在這裏的問題是不使用Modelforms.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表單。但要添加更多的樣式更改,我需要將此對象映射到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 .... man。我怎麼會錯過這個。 – JBaba

0

HTML表單元素總是需要name屬性,否則瀏覽器將無法將它們發送到後端。這就是POST字典中的關鍵所在。

請注意,您可以使用HTML自行完成的任何格式也可以使用Django表單;你真的應該在大多數情況下使用它們。

0

請添加使用的名稱爲每個表單組件的HTML屬性。