2015-09-04 14 views
0

我添加了一個使用下拉列表的Django項目的功能。當選擇列表上的選項時,它正在重新加載頁面。不同之處在於所選下拉選項的值將傳遞到頁面重裝上的方法上,否則就像正常一樣渲染頁面。編寫一個刷新頁面的Django ChoiceField

我相信我已經正確完成了功能的代碼端,但是當我選擇一個下拉選項時,沒有任何反應!我是Django開發新手(特別是HTML方面),所以任何幫助將不勝感激。這裏是我的代碼:

def view(request): 

if request.method == "POST": 

    form = ChoiceForm(request.POST) 
    if form.is_valid(): 

     form.save() 
     value = form.cleaned_data['content'] 
     value = dict(form.fields['content'].choices)[value] 
     print (value) 

else: 

    form = ChoiceForm() 
    print("Printing default") 
    value = "1"; 

... 
data = method(val = value) 
.... 

pageModel = { 
      "page":page, 
      "form": form, 
      'table': table, 
      } 

return render(request, 'url/example.html', pageModel)  
.... class ChoiceForm(forms.Form): 

CHOICES = (
    (1, "Adwords"), 
    (2, "Bing"), 
    (3, "Combined"), content = forms.ChoiceField(choices=CHOICES, required=False) 

而我的HTML塊參照形式:

<form action='url/where/view/is/located' method='post'>{% csrf_token %} 
    {{ form.as_p }} 
</form> 

回答

2

如沒有JavaScript描述你不能做到這一點。

只需從下拉列表中選擇一些內容,本身不會觸發提交;通常情況下,您還需要一個提交按鈕,但是如果您想自動執行此操作,您需要一些JS代碼來偵聽select元素的onchange事件並提交表單。

+0

我想我會保持簡單,然後添加一個提交按鈕。 – GreenGodot