正在将应用程序从Flask转换为Django,并陷入如何从表单按钮的值中提取数据的问题。我有一些数据在带有for循环的表中呈现。每个条目都有一个显示的按钮,允许我为渲染的数据翻转整数字段。一旦翻转,它就不再列出了。
# manage.html
{% for ticket in tickets %}
<tr>
<td>{{ my_obj.id }}</td>
<td>{{ my_obj.tt }}</td>
<td>{{ my_obj.user }}</td>
<td>{{ my_obj.time }}</td>
<td><form action="/flip/" method="post">{% csrf_token %}
<input type="hidden" name="flip" value="{{ my_obj.id }}"/>
<input type="submit" class="btn btn-xs btn-danger" value="Kill"/>
</form>
</td>
</tr>
{% endfor %}
# views.py
def flip(request):
if request.method == 'POST':
tt_id = request.POST.get('value')
return HttpResponse(tt_id )
def manage(request):
my_obj = MyObject.objects.filter(status=1)
return render(request, 'manage.html', {'my_obj': my_obj})
目前我收到的是无响应,而不是使用firebug在值字段中显示的实际ID。
感谢您的期待!
答案 0 :(得分:1)
您必须按名称访问字段,而不是value
。例如
request.POST.get('flip')
如果要访问按钮值,则需要在其上设置name属性。
有关您的请求的详细信息,打印或返回整个request
对象会很有帮助。调试器将是另一种看待它的方法。