URLField中的Django Admin Unicode

时间:2010-12-22 16:40:27

标签: django unicode admin

我有一个名为City的模型,在该模型中我有一个URLField。使用Django管理工具我试图输入此URL“http://en.wikipedia.org/wiki/Düsseldorf”。管理员抱怨这是一个无效的URL,可能是因为“ü”unicode字符。在文档中 http://docs.djangoproject.com/en/dev/ref/forms/fields/#urlfield您可以阅读以下语句:“在Django 1.2中更改:URLField以前无法将URL识别为包含IDN(国际化域名;包含unicode字符的域名)域名的有效URL。现在已经但是我收到一条错误消息:“输入一个有效的URL”。我使用的是Django版本1.2.2。

有谁知道发生了什么事?

1 个答案:

答案 0 :(得分:0)

http://en.wikipedia.org/wiki/Düsseldorf

不是URI,而是IRI

如果您的软件不直接支持IRI,则必须自行手动转换。除了确实使用IDN编码的主机名部分,这意味着使用UTF-8和URL编码:

  

http://en.wikipedia.org/wiki/D%C3%BCsseldorf

在现代的支持IRI的网络浏览器中,这通常仍会显示为“杜塞尔多夫”(请点击链接查看)。