使用Django在下拉菜单上发布问题

时间:2011-03-01 06:05:36

标签: python html django django-views

我有一个html页面,可以通过下拉菜单选择员工的名称。下拉菜单中的所选选项显示相应指定的员工。我可以通过下拉菜单显示员工选择的名称。下拉菜单中的选项是“选择一个名称”,“实习生”,“软件工程师”,“项目经理”,“测试员”等。即使员工根据指定正确列出,下拉选项仍然保持不变“选择一个名称”(这是下拉列表中的第一个选项)。请帮助:* MY * 对于糟糕的缩进感到抱歉,我在这里找不到如何输入HTML代码。 HTML IS:

<form action="http://10.1.0.90:8080/filter/" method="POST">  
Designation:<select name="designation" onchange="document.forms[0].submit()" selected="True">
 <option value="" selected>Select A Designation</option>  
 <option value="Trainee">Trainee</option>  
 <option value="Software Engineer Trainee">Software Engineer Trainee</option>  
 <option value="Software Engineer">Software Engineer</option >  
 <option value="Senior Software Engineer">Senior Software Engineer</option>  
 <option value="Project Manager">Project Manager</option>  
 <option value="System Administrator">System Administrator</option> 
 <option value="Tester">Tester</option>   
</select>

我对Django的看法是:

def filter(request):
    newData = EmployeeDetails.objects.filter(designation=request.POST.get('designation'))    
    return render_to_response('filter.html',{'newData':newData})

2 个答案:

答案 0 :(得分:1)

据我所知,您在为Designation呈现正确值时遇到问题。您需要先修复代码中的错误。为什么selected=True位于select标记内?并且您在第一个选项标签内悬挂了“已选中”。类似的东西:

Designation:
    <select name="designation" onchange="document.forms[0].submit()">
        <option value="" {% ifequal VAL this_value %}selected="True"{% endif %}>Select A Designation</option>

应该有效,其中VAL对应于您想要选择的选项的值。但是,您需要为所有&lt;选项&gt; s,所以我同意Haes,django表格仍然是要走的路。

答案 1 :(得分:0)

我建议您使用Django Forms。 Django Forms将负责设置初始值,表单验证,呈现表单等。

附注,如果您只是使用此表单过滤一些数据,最好使用GET请求(而不是POST),因为它是discussed here

相关问题