例如在这个网址中:
(r'^company/لیست-مقالات/$','CompanyHub.views.docList')
لیست مقالات
部分我有 unicode 字符,但我收到此错误:
Caught UnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xd9 in position 0: ordinal not in range(128)
您需要在字符串u
前面加上 a r
,或者将其包装在 unicode 方法中:
有关更多信息,请参阅此内容。
Unicode 字符串很像字符串,但在语法中使用前面的 'u' 字符指定:u'abc', u"def"。
首先,要在 Python 中的字符串文字中使用非 ASCII 字符,您需要在源文件的顶部指定字符编码,例如:
# -*- coding: utf-8 -*-
其次,如果您将 Unicode 字符串传递给 django,它通常会自己做正确的事情。在这种情况下,它应该转换 URL 中的所有非 ASCII 字符。如果不是,那么您可以django.utils.encoding.iri_to_uri()
显式调用。