我使用的是Django 1.8和Python 3.5.2,并尝试从简单的html格式中恢复POST数据
<form action="/shop/order" method="POST">
{% csrf_token %}
<input type="hidden" name="product-code" value="{{ product.product_code }}">
<input type="text" name="email">
<input type="submit">
</form>
它查看我尝试获取数据的位置,但QueryDict为POST为空,当我在表单中将POST更改为GET并查看所有工作时。
def order_product(request):
test = request.POST.get('product-code', '')
mail = request.POST.get('email', '')
# logger.info(test)
return render(request, 'shop/test.html', dict(test=test, email=mail))
我不明白为什么会这样。类似地,我尝试解析(解码二进制到utf-8等)的身体,我收回空字符串。
urls.py
url(r'^order/?$', views.order_product),
答案 0 :(得分:1)
谢谢大家,这个寓言的寓意如下,在网址中使用名称参数,并在模板中使用{%url'name'%}。我在url(来自djangoCMS)中有i18n,当我在表单中对url进行harcode时,对于POST方法不起作用。