我有一个情况。我有一个 django 模板 ip_form.html,如下所示。
<form method = "GET">
{% for val in value_list %}
<input type='text' value = '{{ val }}'> {{ val }}</input>
{% endfor %}
</form>
我想告诉你,我不知道 value_list 中没有 val(可能为零)。所以可能不会使用 django form.py(而且我在特定时间获取特定 View 函数的值,即不知道它会一直发生的天气)
让我们在 views.py 中说
def view1(request):
value_list = [1,2,3,4,5] # it will change every time view1 will get request
if request.method == "GET":
# i want to retrieve here post
return render ('ip_form.html','value_list':value_list)
我如何使用 form.py
那我怎么找回呢。你可以引用我的post方法。(它不是敏感数据所以get方法没有问题)
谢谢。
最佳答案
您需要将name
属性添加到您的输入,然后您可以使用此名称检索值列表,使用Django QueryDict getlist
method。 :
HTML:
<form method="POST">
{% for val in value_list %}
<input type='text' value='{{ val }}' name='my_list'>{{ val }}</input>
{% endfor %}
</form>
查看:
def view1(request):
value_list = [1,2,3,4,5] # it will change every time view1 will get request
if request.method == "POST":
values_from_user = request.POST.getlist('my_list')
return render ('ip_form.html', 'value_list': value_list)
values_from_user
将是您表单中输入值的列表(如果表单有零个 input
元素,则为空列表)。
请注意,我将您的表单方法更改为 POST
,否则您认为的 request.method
测试将毫无意义。
关于python - 如果表单在 django for 循环中,如何检索 html 表单的输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23469629/