/ / имат символи с букви unicode в url - python, django

да имат символи с единствено число в url - python, django

например в този URL адрес:

(r"^company/لیست-مقالات/$","CompanyHub.views.docList")

в لیست مقالات част I имам unicode символи, но получавам тази грешка:

Caught UnicodeDecodeError while rendering: "ascii" codec can"t decode byte 0xd9 in position 0: ordinal not in range(128)

Отговори:

2 за отговор № 1

Трябва да поставите u пред r преди низ, или го обвивам в unicode метод:

виждам това за повече информация.

Unicode низовете приличат на струни, но са посочени в синтаксиса използвайки предшестващ знак "u": u "abc", u "def".

http://docs.python.org/library/stdtypes.html


1 за отговор № 2

Първо, за да използвате символи, които не са ASCII, в буквален низ в Python, трябва да посочите кодиране на символите в горната част на файла източник, например:

# -*- coding: utf-8 -*-

Второ, ако вие предавайте стринг Unicode на django тя обикновено прави правилно самото нещо. В този случай той трябва да преобразува всички не-ASCII знаци в URL адреса. Ако не е така, бихте могли да се обадите django.utils.encoding.iri_to_uri() изрично.