簡體   English   中英

Django上的正則表達式不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM