如何将上下文变量从模板传递到Django中的视图

时间:2019-04-06 11:44:02

标签: python django

我有一个html页面,该页面显示所有从db中读取信息的乘客的列表,如下所示,图像下方为代码段:

enter image description here

Forms.py

<form   action="{% url 'test' %}"   method="POST">
    {% for record in obj %}
<div class="container">
{% csrf_token %}
  <div class="card">
    <div class="card-body">
        <div class="row">
            <div class="col">{{ record.id }}</div>
          <div class="col">{{ record.detination }}</div>
          <div class="col">{{ record.arrivaltime }}</div>
          <div class="col">{{ record.gender }}</div>
            <div class="col">{{ record.luggage  }}</div>
            <div class="col">{{ record.flag }}</div>
            <div class="col">{{ record.phonenum }}</div>
        <button id="button1">Request</button>
        </div>
    </div>
  </div>

</div>
    {% endfor %}
</form>

如您所见,每个条目都有一个与之关联的请求按钮,因此,在每次单击时,我都希望该特定条目存储在Db中。

我有一个视图,该视图从模板中获取请求,并且应该将这7个参数值存储在db中的div标签中。

Views.py

def test(request):
        form = BlogCommentsForm(request.POST)
        if form.is_valid():
               form.save()

问题是,当我在视图中收到请求时,可以看到两个问题:

  1. 我的表单以flase形式返回is_valid()。
  2. 所有对象列表 通过而不是一次输入。

本应使request.POST的结果对于单击条目而言是正确的,但导致出现如下所示的字典,使数据库中的所有对象都比单个字典要

Request.POST 给我的结果是:

<QueryDict: {'csrfmiddlewaretoken': ['sqvfMziME3T7L0VQOUF7H3Po3etfqmsvf4SbH57Fk28DkbiiGBa7dNQF2lazcM7W', 'sqvfMziME3T7L0VQOUF7H3Po3etfqmsvf4SbH57Fk28DkbiiGBa7dNQF2lazcM7W', 'sqvfMziME3T7L0VQOUF7H3Po3etfqmsvf4SbH57Fk28DkbiiGBa7dNQF2lazcM7W', ]}>

我不完全知道我在哪里做错了。有人可以帮我吗?

0 个答案:

没有答案