[英]Django - HTML form does not submit (request.POST.get(…) is empty)
我有一個像這樣的HTML表單:
<form action="/submit_prform/" method="POST" class="prform" id="prform" name="prform">
{% csrf_token %}
<div class="node" name="node_1" id="node_1">
<input type="hidden" value="1" class="node_index" name="node_index">
<label for="node_name_1">Node 1:</label>
<input type="text" class="node_name" name="node_name" id="node_name_1">
<input type="hidden" value="1" class="target_count">
<div class="node_targets" name="node_targets">
<div class="target" name="target_1_1">
<label class="target_class_label" for="target_name">Target 1:</label>
<input type="text" class="target_name">
<label for="value">Value</label>
<input type="text" class="value">
</div>
</div>
<button type="button" class="add_target">Add target</button>
</div>
<input type="submit" value="Submit form">
</form>
該按鈕用於使用Javascript添加更多目標字段。
我的urls.py看起來像這樣:
urlpatterns = [
url(r'^submit_prform/',pagerank_django.views.submit_prform),
url(r'^admin/', admin.site.urls),
url(r'^', include("pagerank_django.urls")),
]
我的views.py看起來像這樣:
def submit_prform(request):
if request.method == "POST":
form = request.POST.get("prform")
print(request, form)
return render(request, "pagerank_django/index.html", {})
def index(request):
return render(request, "pagerank_django/index.html", {})
我無法獲取我在視圖函數中提交的表單,它打印以下內容:
[20/May/2016 11:29:36] "GET / HTTP/1.1" 200 3593
[20/May/2016 11:29:36] "GET /static/pagerank_django/pagerank.css HTTP/1.1" 304 0
<WSGIRequest: POST '/submit_prform/'> None
[20/May/2016 11:29:37] "POST /submit_prform/ HTTP/1.1" 200 3593
如何訪問我在views.py中提交的表單?
謝謝你的閱讀
form = request.POST.get("prform")
這是空的,因為您的表單中沒有名為prform的字段!
既然你正在使用django,為什么不充分利用Django的強大功能。
使用Django表單 。
除非您計划構建除了發布內容之外什么都不做的網站和應用程序,並且不接受訪問者的輸入,否則您將需要理解和使用表單。
Django提供了一系列工具和庫來幫助您構建表單以接受來自站點訪問者的輸入,然后處理和響應輸入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.