Python Django的QueryDict
为什么输出是,Python Django的QueryDict,python,django,Python,Django,为什么输出是, querydict是否从字符串中删除+符号?我使用的是Python2.7.17和Django版本1.10.4。当您实例化QueryDict类时,它会调用来解析query\u字符串(在本例中是'query=c++')。请参阅djangoQueryDict实现 那么为什么结果有空格而不是+?。答案在查询字符串中。因此,必须对实数加号进行编码 >>> from urllib.parse import parse_qsl >>> parse_qsl(&
querydict是否从字符串中删除+符号?我使用的是Python2.7.17和Django版本1.10.4。当您实例化
QueryDict
类时,它会调用来解析query\u字符串(在本例中是'query=c++'
)。请参阅djangoQueryDict
实现
那么为什么结果有空格而不是+
?。答案在查询字符串中。因此,必须对实数加号进行编码
>>> from urllib.parse import parse_qsl
>>> parse_qsl("query=c++")
[('query', 'c ')]
在壳中工作。但是如果有人会从Django模板提交文本C++。我们将只接收C++而不是C++。如何处理这种情况。@starboy_jb你能用模板代码的相关部分更新问题吗?它是一个简单的表单,只有一个输入字段,有一个方法作为POST。我正在接收请求,但是我只得到C++而不是C++。我已经修复了这个问题,我们可以在这里使用编码。
>>> from urllib.parse import parse_qsl
>>> parse_qsl("query=c++")
[('query', 'c ')]
>>> from urllib.parse import parse_qsl
>>> parse_qsl("query=c%2B%2B")
[('query', 'c++')]