python - 如果表单在 django for 循环中,如何检索 html 表单的输入值

标签 python django forms

我有一个情况。我有一个 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/

相关文章:

javascript - 是否可以在模式按钮中短暂存储表单数据?

python - 如何更改 read_csv 对空值的处理

python - 如何将 MacPort 的 pyqt 链接到 Enthought 的 Python 发行版?

php - 用php写sql

python - 如何通过 django Rest 框架使用数据表服务器端处理

python - 如何将 View 方法转换为通用 ListView ?

PHP - 使用下拉列表更改站点主题

python - pandas 将一个 df 中的日期与另一个 df 中的时间范围进行匹配,然后进行 groupby-sum

python - POST 保存后更新模型中的字段之一

python - 如何使用 Django 在一个查询中从多个表中进行选择?