Django:无法导入名称路径

问题描述 投票:0回答:2

我的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),
]
python django rest django-rest-framework url-pattern
2个回答
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),
]

/和$很重要


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),
]
© www.soinside.com 2019 - 2024. All rights reserved.