找不到页面错误发生-可以使用<str:id>吗?

时间:2018-07-02 09:24:30

标签: django

找不到页面错误发生-可以使用吗?

我写在urls.py

from django.conf.urls import url
from app import views

urlpatterns = [
    url('^data/<str:id>', views.data, name='data'),
]

in views.py
def data(id):
    ・
    ・
    ・
    return None

例如,当我访问http://127.0.0.1:8000/data/AD04958时, 找不到页面(404) 请求方法:GET 请求网址:http://127.0.0.1:8000/data/AD04958

发生错误。

我认为我可以将此URL http://127.0.0.1:8000/data/AD04958写入urls.py的'^ data /'中,所以我真的不明白为什么会发生此错误。 id未保存在数据库中,是否会导致此错误? 我的代码有什么问题?应该如何解决?

1 个答案:

答案 0 :(得分:1)

对于 Django <= 1.11.x

urlpatterns = [
    url(r'^data/(?P<id>[\w.-]+)/$', views.data, name='data'),
]

对于 Django> = 2

urlpatterns = [
    path('^data/<str:id>', views.data, name='data'),
]