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++'
)。请参阅django
QueryDict
实现

那么为什么结果有空格而不是
+
?。答案在查询字符串中。因此,必须对实数加号进行编码

>>> 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++')]