我想通過一個URL傳遞一個'字符串'參數到一個視圖。 的urls.py去Django url解析 - 通過原始字符串
('^add/(?P<string>\w+)', add),
我在用繩子,包括標點符號,換行,空格等問題。 我想我必須改變\ w +爲別的東西。 基本上這個字符串會被用戶從他選擇的文本中複製,我不想改變它。我想接受任何角色和特殊角色,以便視圖完全按照用戶所複製的內容行事。
我該如何改變它?
謝謝!
我想通過一個URL傳遞一個'字符串'參數到一個視圖。 的urls.py去Django url解析 - 通過原始字符串
('^add/(?P<string>\w+)', add),
我在用繩子,包括標點符號,換行,空格等問題。 我想我必須改變\ w +爲別的東西。 基本上這個字符串會被用戶從他選擇的文本中複製,我不想改變它。我想接受任何角色和特殊角色,以便視圖完全按照用戶所複製的內容行事。
我該如何改變它?
謝謝!
那麼,首先,網址中有很多字符是不允許的。認爲?
和空間的初學者。無論你做什麼,Django都可能會阻止它們傳遞給你的視圖。
其次,你想了解re模塊。它是爲這些URL匹配設置語法的。 \w
表示任何大寫或小寫字母,數字或_
(基本上,標識符字符,但不禁止前導數字)。
將字符串傳遞給URL的正確方法是作爲表單參數(即在URL中有?paramName=
並且特殊字符已轉義,例如空格更改爲+
後)。
請注意,您只能使用可理解爲正確URL的字符串,將任何字符串作爲url傳遞都不是好主意。
我用這個正則表達式,允許在我的網址字符串值:
(?P<string>[\w\-]+)
這使得有「蛞蝓;在你的網址(如:'this-is-my_slug')
順便說一句,'\ w'包含'_',如果'''(和'可選'^')之後的第一個東西是'',那麼''' '(?P [ - \ w] +)'。 –
2010-06-25 12:01:49