从Django中的模板返回Request.Post数据

时间:2018-02-15 22:18:29

标签: python django django-views

我正在尝试使用request.post获取购物车中单品的数量,但它没有返回任何内容。

这是我的views.py文件的样子:

In [163]: json_str = '{"name": "John"s Garage", "company": "ABC"}'

In [164]: re.sub(r'(:\s+"[^"]*)"(?=[^"]*",)', r'\1', json_str)
Out[164]: '{"name": "Johns Garage", "company": "ABC"}'

In [165]: re.sub(r'(:\s+"[^"]*)"(?=[^"]*",)', r'\1\"', json_str)
Out[165]: '{"name": "John\\"s Garage", "company": "ABC"}'

这就是我的模板目前的样子:

def test_view(request):
    cart_obj, new_obj = Cart.objects.new_or_get(request)
    my_carts_current_entries = Entry.objects.filter(cart=cart_obj)
    entry_quantity = request.POST.get('entry_quantity')
    print(entry_quantity)
    return render(request, 'carts/test.html', {'my_cart': cart_obj, 'my_carts_current_entries': my_carts_current_entries})

我期待控制台打印输出request.post条目数量。

提前致谢。

1 个答案:

答案 0 :(得分:0)

HTML不正确,一旦更改为以下内容 - 它就开始工作了。这是因为输入在for循环之外。

{% csrf_token %}
{% for cart in  my_carts_current_entries %}
{{ cart.quantity }}x {{ cart.product }}
<button>Generate (Quantity)</button>
<input type="hidden" name='entry_quantity' value='{{ cart.quantity }}'>
<br>
{% endfor %}