我知道它的基本但我因此而陷入困境我上网并没有帮助我。
这是我基于django类的视图(django 1.7)的片段
def post(self, request,*args, **kwargs):
context = RequestContext(request, {})
print request.POST
print request.POST['search_text']
在html中
<form method="post" action="{% url 'storage_place' %}">{% csrf_token %}
<div class="container">
<div class="row">
<div class="col-md-4">
<div class="form-group">
<input type="text" class="form-control" id="search_text" name="search_text " placeholder="Key words...">
</div>
</div>
<div class="col-md-3">
<div class="s_btngroup">
<div class="col-md-6 col-sm-4 col-xs-5">
<input type="submit" class="btn ft_default-btn-red ft_primary-btn-mini" value="Search" />
</div>
</div>
</div>
</div>
</div>
</form>
当我这样做时
print request.POST
正在打印
QueryDict: {u'csrfmiddlewaretoken': [u'GInHZCd4UK8oWjs2txgppCNEof3VC8zy'], u'search_text ': [u'defrghj']}
但是当我做下一行时
print request.POST['search_text']
我收到多值字典错误。
请告诉我这是什么原因。
答案 0 :(得分:1)
模板中'search_text '
的名称属性中的<input.../>
后面有一个尾随空格:
<input type="..." class="..." id="..." name="search_text "
^
你会注意到它出现在带有尾随空格的QueryDict中。你应该删除空格。