python - Django HTML 下拉菜单
问题描述
我正在尝试制作一个 html 下拉列表并将值传递到 Postgrase SQL 数据库中。正在从另一个数据库表中检索我的下拉值。每次我提交表单时,它都会给我一个 MultiValueKeyDictError。我知道我可以使用 forms.py 来做同样的事情,但我想探索 HTML 的方式来做这件事。
我的 HTML 文件
<form action = "" method = "post">
{% csrf_token %}
<label for = "LogType"></label>
<input id ="LogType" type = "text" value = "{{ user.department }}">
<label for ="DelayCategory">Delay Category</label>
<select id = "delaycategory" class = "form-control">
{%if user.department == 'TechAssembly'%}
{%for techdelay in techdelay%}
<option value = "{{ techdelay.DelayCode }}">{{ techdelay.DelayCategory}}</option>
{%endfor%}
{%endif%}
{%if user.department == 'Testing'%}
{%for testdelay in testdelay%}
<option value = "{{ testdelay.DelayCode }}">{{ testdelay.DelayCategory}}</option>
{%endfor%}
{%endif%}
</select>
<label for = "iterations">Iterations</label>
<input type = "number" id = "iterations">
<center><input type="submit" value=Submit id = "button"></center>
</form>
我的 Views.py 文件
def rulesView(request, user_name):
testdelay = TestingDelayCategory.objects.all()
techdelay = TechDelayCategory.objects.all()
if request.method == "POST":
rulesnew = rules()
rulesnew.DelayCategory = request.GET['DelayCategory']
rulesnew.LogType = request.POST('LogType')
rulesnew.iterations = request.POST('iterations')
rulesnew.save()
context = {
'techdelay':techdelay,
'testdelay':testdelay,
}
return render(request, 'rules/rules.html', context)
解决方案
rulesnew.DelayCategory = request.GET['DelayCategory']
rulesnew.LogType = request.POST('LogType')
rulesnew.iterations = request.POST('iterations')
再看一遍:request.GET
应该request.POST
和request.POST('LogType')
应该request.POST['LogType']
与迭代相同。
错误消息应包括引发错误的确切行。因此,如果您告诉我们错误已引发,例如在这一行中,调试会更容易rulesnew.LogType = request.POST('LogType')
推荐阅读
- jquery - 从 jquery $.get fail 错误处理程序获取人工消息
- tomcat - Java 如何配置 JAVA_OPTS 环境变量不显示在日志中
- php - 多个选择框值未插入 codeigniter
- c++ - 通过基类自动化窗口编程
- javascript - 无法在 Safari 的剪贴板中保存格式化数据(文本/html)
- ios - 在 .mm 文件中使用带有回调的 SNMP++ 方法
- javascript - Node Express Handlebars 变量问题
- postgresql - 使用 Postgres ODBC 驱动程序时设置 Applicationname
- excel - 粘贴值和文件名在单元格引用中
- google-chrome-extension - 如何实时将 chrome 的网络选项卡分享给不同的用户?