我使用的是Django,我無法在不修改url的情況下將變量信息傳回服務器。下面是我有工作我想除了我想要的動作爲/ foo的方式:當我做到這一點我可以輕鬆地獲得該變量時我解析URLdjango的額外POST數據
<form method="post" action="/foo/{{ variable }}">
<input type="submit" value="bar"/>
</form>
。相反,我想將該變量添加到POST QueryDict。這可能嗎?
我使用的是Django,我無法在不修改url的情況下將變量信息傳回服務器。下面是我有工作我想除了我想要的動作爲/ foo的方式:當我做到這一點我可以輕鬆地獲得該變量時我解析URLdjango的額外POST數據
<form method="post" action="/foo/{{ variable }}">
<input type="submit" value="bar"/>
</form>
。相反,我想將該變量添加到POST QueryDict。這可能嗎?
是的。只需添加額外的輸入字段:
<form method="post" action="/foo/">
<input type="hidden" value="{{ variable }}" name="name_of_var">
<input type="submit" value="bar"/>
</form>
然後,您可以通過訪問變量視圖:
request.POST['name_of_var']
,或者如果你是不知道,如果變量存在。這不會引發異常不存在。
<input type="hidden" name="varname" value="myvalue" />
只要你需要像這樣的名稱和值添加一個隱藏的輸入元素?您可以隱藏它以避免覆蓋它。這將在提交中發佈數據並實現您想要的內容。
你能不能把這些變量在表單的輸入域:
request.POST.get('name_of_var')
只是要輸入你的表單中:
<input type="hidden" value="{{ variable }}" name="foo" />
然後在一個視圖:
foo = request.POST.get('foo', None)
另外,我建議你使用url tag爲action
。
這不就是Django會話框架的用途嗎?你可以傳遞數據而不用通過url傳遞數據。
會話框架允許您以每個站點訪問者爲基礎存儲和檢索任意數據。它將數據存儲在服務器端並提取Cookie的發送和接收。
NM這不是OP想要做的。 – andy
沒有輸入的名稱。 –
好點。忘了那個。 thanx – miki725
request.POST.name_of_var和request.POST ['name_of_var']之間有什麼區別? – Alison