Django Admin Unicode в URLField - PullRequest
       5

Django Admin Unicode в URLField

0 голосов
/ 22 декабря 2010

У меня есть модель с именем 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 (интернационализированное имя домена; имя домена, содержащее символы Юникода). был исправлен. Но я получаю сообщение об ошибке: «Введите действительный URL». Я использую Django версии 1.2.2.

Кто-нибудь знает, что происходит?

1 Ответ

0 голосов
/ 23 декабря 2010
http://en.wikipedia.org/wiki/Düsseldorf

Это не URI, это IRI .

Если ваше программное обеспечение не поддерживает IRI напрямую, вам придется конвертировать его вручную. Помимо части имени хоста, которая действительно использует кодировку IDN, это означает использование UTF-8 и URL-кодировки:

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

Как правило, он по-прежнему отображается как «Дюссельдорф» в современных веб-браузерах с поддержкой IRI (перейдите по ссылке, чтобы увидеть).

...