【问题标题】:How to prevent '+' from getting converted to space in Django request.POST method?如何防止“+”在 Django request.POST 方法中转换为空格?
【发布时间】:2020-10-28 23:25:57
【问题描述】:

我正在尝试使用 request.POST.get() 读取电子邮件 ID 值。如果帖子数据包含带有“+”符号的电子邮件 ID,例如“example+something@gmail.com”,则会被读取为

“例如某事@gmail.com”。

我知道这是因为 + 符号被解码为空格,但是在这种情况下如何防止这种情况发生?

【问题讨论】:

  • 我猜你想对你的字符串进行 url 编码,例如:stackoverflow.com/questions/14547491/…
  • @MLavrentyev 这有帮助!无法使用答案中所示的 urlencode 过滤器,但我使用 js 做了类似的事情。我会发布它作为答案。

标签: django


【解决方案1】:

解决了!发布数据在发送之前没有被 urlencoded。对于我的场景,由于我使用 Javascript XMLHttpRequest 来发布数据,因此我只是使用 js replace() 函数将“+”符号替换为“%2B”。

根据https://stackoverflow.com/a/14830517/5918981的另一种方法是使用encodeURIComponent()

【讨论】:

    猜你喜欢
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多