我有一个名为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以前不识别包含IDN (国际化域名;包含unicode字符的域名)域名的url。这一点现在已经得到纠正。但是我得到了一个错误信息:“输入一个有效的URL”。我使用的是Django 1.2.2版。
有人知道发生了什么吗?
发布于 2010-12-23 05:07:29
http://en.wikipedia.org/wiki/Düsseldorf不是URI,它是一个IRI。
如果您的软件不直接支持IRIs,您将不得不手动转换它。除了主机名部分,它确实使用IDN编码,这意味着使用UTF-8和URL编码:
在支持IRI的现代web浏览器中,这通常仍显示为‘Düsseldorf’(点击链接查看)。
https://stackoverflow.com/questions/4511414
复制相似问题