2015-09-04 20 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