【问题标题】:Django Admin Unicode in URLFieldURLField 中的 Django Admin Unicode
【发布时间】:2011-05-29 12:36:59
【问题描述】:

我有一个名为 City 的模型,在该模型中我有一个 URLField。使用 Django 管理工具,我正在尝试输入此网址“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。

有人知道发生了什么吗?

【问题讨论】:

  • 只是一个注释“IDN”,仅适用于 URL 的域名部分 (de.wikipedia.org),而不适用于 URL 的其余部分。

标签: django unicode admin


【解决方案1】:
http://en.wikipedia.org/wiki/Düsseldorf

不是 URI,而是 IRI

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

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

这通常仍会在支持 IRI 的现代网络浏览器中显示为“Düsseldorf”(点击链接查看)。

【讨论】:

    猜你喜欢
    • 2013-08-30
    • 2011-03-29
    • 2013-04-24
    • 2013-12-29
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 2013-12-23
    • 1970-01-01
    相关资源
    最近更新 更多