2011-05-30 58 views
2

在django文檔中,他們寫道,在url中只能使用ASCII字符。由於IDN域中的字符對我來說似乎很奇怪。對於exapmle,如果我有IDN域名,並且我想不僅在URL中包含ASCII字符,默認情況下不可能以簡單的方式執行此操作。關於django網址中字符的簡單問題

回答

1

是的,但如此。 Python本地支持Punycode

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

那麼,如果不可能呢?我不是專家,但我認爲如果答案是真的,那麼對於django創建者和開發者來說,如果他們想要將django作爲用戶頭腦中友好的框架來思考,就需要做一些工作。 – krzyhub 2011-05-30 01:13:14

+0

如果您可以確定Django的具體問題,那麼我確信開發人員最有興趣瞭解它們。 – 2011-05-30 01:14:35

+0

我現在沒有看到問題,但只有可能性。 – krzyhub 2011-05-30 01:18:45

1

一個簡單的解決方法是要求Django將URL作爲'。'匹配。正則表達式原始字符串,因爲它不理解'\ w'意思是你的字符集是UTF-8等。

所以在urls.py中,你可以寫'foo/bar /.+'而不是'foo/bar/\ w +',這是專爲英語人士,因爲它是。我只是在開玩笑。

Goodluck。