Django:无法导入名称路径

时间:2018-06-17 09:03:52

标签: python django rest django-rest-framework url-pattern

我的urls.py看起来像这样:

urlpatterns = [
    path('',views.index, name='index'),
    path('entry/(<int:pk>)' , views.details,name='details'),
    path('admin/', admin.site.urls),
]

但是当我尝试运行它时,我得到错误,因为无法找到路径。

尝试1:

我尝试使用url,但我不确定如何使用第二行进入url。这似乎不起作用:

urlpatterns = [
    url(r'^$',views.index, name='index'),
    url(r'^entry/(?P<pk>\d+)/' , views.details,name='details'),
    url(r'^admin/', admin.site.urls),
]

2 个答案:

答案 0 :(得分:1)

我想评论Monhammand的回答。但是,我做不到,因为我需要至少有50个声誉。因此,我将其作为答案。

如果您想在Django 2.X中使用正则表达式,则可以使用re_path()

https://docs.djangoproject.com/en/2.0/ref/urls/#re-path

urlpatterns = [
  re_path(r'^$',views.index, name='index'),
  re_path(r'^entry/(?P<pk>\d+)/$' , views.details,name='details'),
  re_path(r'^admin/', admin.site.urls),
]

答案 1 :(得分:0)

如果您使用的是django 2.x,请执行以下操作:

urlpatterns = [
    path('',views.index, name='index'),
    path('entry/<int:pk>/' , views.details,name='details'),
    path('admin/', admin.site.urls),
]

如果您使用的是django 1.x,请执行以下操作:

urlpatterns = [
    url(r'^$',views.index, name='index'),
    url(r'^entry/(?P<pk>\d+)/$' , views.details,name='details'),
    url(r'^admin/', admin.site.urls),
]

/ $ 非常重要