django 1.x版本與2.x版本
URL區別
在django 1.x中的方式
導入的模塊是'from django.conf.urls import url',urlpatterns中url對應的是正則表達式,如下:
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/$', admin.site.urls),
url(r'^crm/$', include('app01.urls',namespace='app01')),
]
# 在app01.urls中
urlpatterns = [
url(r'^login/', views.login,name='login'),
url(r'^reg/', views.reg,name='reg'),
url(r'^index/', views.index,name='index'),
# url(r'^detialinfo/', views.detialinfo,name='detialinfo'),
url(r'^customer_list/', views.CustomerList.as_view(),name='customer_list'),
url(r'^mine_customer/', views.CustomerList.as_view(),name='mine_customer'),
url(r'^customer_add/', views.customer_operate,name='customer_add'),
url(r'^customer_edit/(\d+)/', views.customer_operate,name='customer_edit'),
在django 2.x中的方式
導入的模塊是from django.urls import re_path,path
,re_path對應的是1.x版本中的url是匹配正則表達式的,而path並不匹配正則表達式
from django.urls import re_path,path
from . import views
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('students.urls')),
path('ser/', include('ser.urls')),
]
# 在ser.urls中
urlpatterns = [
path("students/", views.StudentAPIView.as_view() ),
path("students1/", views.StudentGenericAPIView.as_view() ),
path("students2/", views.Student2GenericAPIView.as_view() ),
re_path(r"^students3/(?P<pk>\d+)/$", views.Student3GenericAPIView.as_view() ),
]