[英]Regular Expression on Django doesn't work
我是Django的新手 ,所以正在做本教程 ,但是我遇到了正則表達式的問題:
對於此視圖
def viewArticle(request, month, year):
text = "Displaying articles of : %s/%s"%(year, month)
return HttpResponse(text)
我應該創建一個這樣的網址
url(r'^articles/(\d{2})/(\d{4})', 'viewArticles', name='articles')
並且效果很好,例如,當我輸入http://.../articles/12/2014時,我應該看到“顯示的文章:2014年12月12日”。
但是,稍后(在PDF的第27頁)我建議將URL更改為此:
url(r'^articles/(?P\d{2})/(?P\d{4})', 'viewArticles', name='articles'),
現在它不再起作用了。 為什么會這樣,如何更改我的代碼? 感謝您的任何建議!
本教程說,您可以在此處使用命名的捕獲組 :
(?P<name>...)
與常規括號類似,但是可以通過符號組名name來訪問與組匹配的子字符串。 組名必須是有效的Python標識符,並且每個組名必須在一個正則表達式中僅定義一次。 符號組也是帶編號的組,就像未命名該組一樣。
命名捕獲組的正確聲明是(?P<name>...)
:
url(r'^articles/(?P<month>\d{2})/(?P<year>\d{4})', 'viewArticles', name='articles')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.