2016-11-17 100 views
1

我想匹配像一個網址:/api/1.0/page/1Django的網址點

我有我的主要urls.py文件:

urlpatterns = [ 
    url(r'^api/1.0/', include('api_v1.urls')), 
] 

,然後在我的api_v1/urls.py文件:

urlpatterns = [ 
    url(r'^page/(?P<page_id>[0-9]{4})/', views.page), 
] 

我覺得它應該很簡單,但我不能得到它的工作。

+0

URL模式是正則表達式,所以你必須轉義特殊的正則表達式字符,如點。改爲嘗試'r'^ api/1 \ .0 /''。 – Evert

+0

您可能需要閱讀[正則表達式的Python文檔](https://docs.python.org/3/library/re.html),尤其是什麼特殊字符。 – Evert

+0

我試過逃離dot @Evert(我用正則表達式很好)。當我逃脫它時,Django列出了這些url模式爲'^ api/1 \ .0/^ page /(?P [0-9] {4})/'(注意空格) – hammygoonan

回答

2

您的正則表達式強制執行4個字符的頁面ID。但是你的頁面ID只是1。也許這種模式會更好地工作:

r'^page/(?P<page_id>[0-9]+)/' 
+0

雞蛋在我的臉上。你在發現 - 我看錯了地方。 – hammygoonan