关于django网址中字符的简单问题

时间:2011-05-30 00:58:56

标签: django unicode ascii idn

在django文档中,他们写道,在网址中只能使用ASCII字符。由于IDN域中的字符,我似乎很奇怪。对于exapmle,如果我有IDN域并且我想在网址中不仅包含ASCII字符,默认情况下这是不可能以简单的方式执行此操作?

2 个答案:

答案 0 :(得分:1)

是的,但那是什么。 Python本身支持Punycode

>>> 'xn--' + u'たとえば'.encode('punycode') + '.com'
'xn--r8j2b1a7a.com'

答案 1 :(得分:1)

一个简单的解决方法是让Django将URL匹配为“。” regexp原始字符串,因为它不理解'\ w'表示你的UTF-8等字符集。

所以在urls.py你可以写'foo / bar /.+'而不是'foo / bar / \ w +',这对英语使用者来说是独一无二的。我只是在开玩笑。

古德勒克。

相关问题