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

 

posted @ 2019-11-14 16:38  烟雨梦_123  阅读(259)  评论(0)    收藏  举报