Django2.0---urls配置变化
原本的urls配置:
在booktest/应用下创建urls.py文件,定义代码如下:
from django.conf.urls import url from booktest import views urlpatterns = [ url(r'^$', views.index), ]
打开test1/urls.py文件,为urlpatterns列表增加项如下:
from django.conf.urls import include, url from django.contrib import admin urlpatterns = [ url(r'^admin/', include(admin.site.urls)), url(r'^', include('booktest.urls')), ]
现在urls配置做了改变:
# 这是其中一种写法,直接在项目的urls.py文件中添加;
from django.contrib import admin from django.urls import path from bookstore import views urlpatterns = [ path('admin/', admin.site.urls), path('', views.index), path('show/', views.show), ]
# 第二种配置urls的方式,在应用中添加urls.py文件: from django.contrib import admin from django.urls import path, re_path, include # from bookstore import views # import bookstore urlpatterns = [ path('admin/', admin.site.urls), path('bookstore/', include('bookstore.urls')), ] 应用中添加urls.py文件,添加如下代码: from django.urls import path from bookstore import views urlpatterns = [ path('index/', views.index), path('show/',views.show), ] # 会匹配到 # http:127.0.0.1:8000/bookstore/index/ # http:127.0.0.1:8000/bookstore/show/
新版本的django不支持正则,如果要使用正则可以用re_path(),之后补充代码
以前版本的django.conf.urls.url() 变成了django.urls.repath(),但为了向后兼容,旧的依然保留,之前的django.conf.urls.include()方法现在可以直接在django.urls中直接导入,也就是from django.urls import include, path, re_path

浙公网安备 33010602011771号