如何从dtml中将变量值传递到django中的views.py.

时间:2015-08-08 19:38:00

标签: django python-2.7

HTML代码:

{% for data in top_100_active_webshells_tuple %}
  <tr>
    <td>{{ data.0 }}</td>
    <td>{{ data.1 }}</td>       
    <td>{{ data.2 }}</td>
    <td><form action="/my_image/" method="POST">
      {% csrf_token %}
        <input id ="my_input" type="submit" class="btn" name="{{ data.3 }}" value="image" style="background:white;color:black;border:3px solid grey"/>
</form>
     </td>
  </tr>
{% endfor %}

views.py函数:

def my_image(request):

    if "data.3" in request.GET:
        address=request.GET["data.3"]
        resp="address is "+address
        return HttpResponse(resp)
    else:
        return HttpResponse("error here")


问题:  问题是我无法将值存储在名为
的函数中的变量“data.3”中 def my_image(request)

当我单击输入按钮,如何修复它并在 views.py 中获取变量值时,会打印其他语句
请尽快回复。

1 个答案:

答案 0 :(得分:0)

您将在请求数据中获取data.3而不是data.3的值作为密钥

此外,您将收到request.POST而不是request.GET的数据,因为表单方法为POST

def my_image(request):

    if <value_of_data.3> in request.POST:
        address=request.POST[<value_of_data.3>]
        resp="address is "+address
        return HttpResponse(resp)
    else:
        return HttpResponse("error here")

但是,当您进行迭代并且data.3的值可能会在不同的请求中发生更改时,您将无法使用上述逻辑按预期使视图正常工作。