我有一個Django網站,它使用項目名稱來創建適合瀏覽器的網址。例如:如何處理Django URL中的&符號?
/item/DeluxeWidget/
我有在名稱中的符號的項目:
/item/Red & Blue Widget/
的符號拋出的事情了。如果我使用{{widget.name | fix_ampersands}},連字符將被轉義爲&
,但它仍然沒有在URL模式拿起:
url(r"^widget/(?P<name>[0-9a-zA-Z&,. -]+)/$", 'site.views.widget'),
在我使用捕捉名字做視圖
Widget.objects.get(name=name)
在URL中處理&符號的轉義,模式或過濾器的正確組合是什麼?我也希望在其中使用帶撇號的名字。我還有什麼要處理這些嗎?
所以簡短的回答是「不要」。無論如何,&符號都不屬於URL。感謝您的建議 - SlugField似乎是我嘗試做的理想工具。 –