使用Django,我需要顯示所有模型對象的列表,並通過單擊它來選擇1。
例如:django表單字段作爲列表,使用郵政
forms.py:
class new_form(forms.Form):
x = forms.ChoiceField(widget=forms.RadioSelect())
在我檢查的觀點
是要求具有開機自檢,如果沒有,我創造新形式的實例,並返回其渲染到模板:
if request.POST:
...
form = new_form()
form.fields['x'].choices = model_x.objects.filter(FILTER CONDITION).values_list('id','name')
c['form']=form
return render(request, 'orders/tmplt.html',c)
模板
我是表單字段(X)轉換成一個列表,並加入jQuery的點擊監聽到它:
<script>
$(document).ready(function(){
$("#x_select li").click(function(){
MY MISSING CODE
});
});
</script>
Please select:
<form id="form" action='#' method='post'>{% csrf_token %}
{% if form.x.errors %}
{{ form.x.errors }}
<br>
{% endif %}
<ul id="x_select">
{% for choice in form.x %}
<li id="{{ choice.choice_value }}"> {{ choice.choice_label }} </li>
{% endfor %}
<ul>
<br>
</form>
我想回發到客戶端通過點擊列表項目選擇的id值。
我該怎麼辦?
謝謝。
嗨,幾個問題:1)我希望能夠在以後添加更多的領域,所以我需要硬編碼的所有字段在數據對象中。 2)我也需要csrf_token。有沒有更順利的方法來做到這一點? – gabi
我不需要Ajax,我需要它將我的窗口重定向到新頁面。 – gabi
不只是重定向 - 我需要POST和完整的Django形式... – gabi