2016-11-17 98 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