首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django处理IRI

在Django处理IRI
EN

Stack Overflow用户
提问于 2010-12-07 23:46:30
回答 2查看 1.7K关注 0票数 4

Django文档中有一节很好地介绍了如何使用URL中的非ASCII数据来处理字符串。特别是,它提供了关于如何转换Unicode字符串以便在URL中使用的示例:

代码语言:javascript
复制
>>> urlquote(u'Paris & Orléans')
u'Paris%20%26%20Orl%C3%A9ans'
>>> iri_to_uri(u'/favorites/François/%s' % urlquote(u'Paris & Orléans'))
'/favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans'

但是,似乎没有迹象表明如何执行反向转换!

假设我的应用程序收到了URL /favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans,如何将其映射回/favorites/François/Paris & Orléans

没有django.utils.encoding.uri_to_iri函数来补充django.utils.encoding.iri_to_uri,也没有django.utils.http.urlunquote来补充django.utils.http.urlquote()

Note

如果这有帮助的话,我将使用Django 1.2

  • Python2.5,DebianLinuxPython2.6,Windows764位.
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-07 23:48:35

在这种情况下,标准urllib.unquote()应该工作得很好:

代码语言:javascript
复制
>>> urllib.unquote('/favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans')
'/favorites/Fran\xc3\xa7ois/Paris & Orl\xc3\xa9ans'
票数 3
EN

Stack Overflow用户

发布于 2010-12-07 23:49:30

这是因为urllib.unquote这样做是为了你:

代码语言:javascript
复制
>>> import urllib
>>> print urllib.unquote('/favorites/Fran%C3%A7ois/Paris%20%26%20Orl%C3%A9ans')
/favorites/François/Paris & Orléans
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4382875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档