在django文档中,他们写道,在网址中只能使用ASCII字符。由于IDN域中的字符,我似乎很奇怪。对于exapmle,如果我有IDN域并且我想在网址中不仅包含ASCII字符,默认情况下这是不可能以简单的方式执行此操作?
答案 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 +',这对英语使用者来说是独一无二的。我只是在开玩笑。
古德勒克。