Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带点的Django URL_Python_Django - Fatal编程技术网

Python 带点的Django URL

Python 带点的Django URL,python,django,Python,Django,我正在尝试匹配一个url,如:/api/1.0/page/1 我有我的主url.py文件: urlpatterns = [ url(r'^api/1.0/', include('api_v1.urls')), ] urlpatterns = [ url(r'^page/(?P<page_id>[0-9]{4})/', views.page), ] 然后在我的api_v1/url.py文件中: urlpatterns = [ url(r'^api/1.0/'

我正在尝试匹配一个url,如:
/api/1.0/page/1

我有我的主
url.py
文件:

urlpatterns = [
    url(r'^api/1.0/', include('api_v1.urls')),
]
urlpatterns = [
    url(r'^page/(?P<page_id>[0-9]{4})/', views.page),
]
然后在我的
api_v1/url.py
文件中:

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

我觉得它应该很简单,但我无法让它工作。

您的正则表达式强制执行4个字符的页面ID。但是您的页面id只是
1
。也许这种模式会更好:

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

URL模式是正则表达式,因此必须转义特殊的正则表达式字符,如点。请尝试
r'^api/1\.0/'
。这可能值得您仔细阅读,特别是存在哪些特殊字符。我尝试过转义点@Evert(我对正则表达式相当擅长)。当我转义它时,Django将url模式列为
^api/1\.0/^page/(?P[0-9]{4})/
(注意空格)我脸上的鸡蛋。你说得对,我找错地方了。