0

django 是如何自动对表单数据进行编码和解码的?说,我有以下表格。

 <form method="POST" action="MY_SERVER_URL">
    <p><label for="id_name">Name:</label> <input id="id_name" type="text" name="name"/></p>
    <button type="submit">Save</button>
 </form>

当我尝试将此表单与名称值(如“这是名称值”)发布到我的服务器时,并且当我使用 Chrome 或 Firefox 或 Safari 时,我认为 request.POST['name'] 正确地给了我字符串但在Internet Explorer 它给了我“This+is+name+value”,我必须在其上运行 urllib.unquote_plus() 以获得适当的值(这是名称值,即!)。

简而言之,来自 Internet Explorer 的所有表单数据似乎都没有以不同的格式解码或编码。(哪一个?)我在 stackoverflow 上进行了广泛的搜索,但找不到任何有帮助的东西。欢迎学习意见!

4

1 回答 1

0

我认为您需要enctype在表单中添加一个属性。IE 应该默认为 application/x-www-form-urlencoded,但你永远不知道 IE。我知道 text/plain 的 enctype 会将空格转换为 +。

尝试:

<form action="." method="post" enctype="application/x-www-form-urlencoded">

或使用:multiplart/form-data如果您的表单需要支持文件字段。

于 2013-02-14T18:06:07.003 回答