gpt4 book ai didi

python - View 函数中无法获取表单数据: Django

转载 作者:行者123 更新时间:2023-12-01 08:26:27 25 4
gpt4 key购买 nike

我需要通过下拉菜单和提交按钮将字符串提交到 View 函数。

在我的模板中,我有:

<form action="{% url 'exec_task' %}" method="post">
{% csrf_token %}
<select id="select_task" form="select_task" name="select_task">
{% for task in available_tasks %}
<option id="selected_task" value="{{ task }}">{{ task }}</option>
{% endfor %}
</select>
<input class="button" type="submit" value="Run Selected Task">
</form>

在我的 View 函数中,我有:

def exec_task(request):
if request.method == 'POST':
task = request.POST.get('select_task')
print(task)
getattr(tasks, task)(0)
return redirect('management')

print(task) 始终显示为 None,当我尝试在下一行中通过 getattr 调用它时,它会生成错误。

我已经阅读了我能找到的所有问题和教程,我不知道我做错了什么,但是当我打印 request.POST 对象时,我得到的只是 csrf token 。 QueryDict 中没有其他内容。

有什么想法吗?

最佳答案

正如评论中所讨论的,请删除

form="select_task" 来自选择标记。

所以最终选择标签/html 就是。

<form action="{% url 'exec_task' %}" method="post">
{% csrf_token %}
<select id="select_task" name="select_task">
{% for task in available_tasks %}
<option id="selected_task" value="{{ task }}">{{ task }}</option>
{% endfor %}
</select>
<input class="button" type="submit" value="Run Selected Task">
</form>

关于python - View 函数中无法获取表单数据: Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54211729/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com