2、django路由层

#前言:对于前后端分离的项目。url的很多作用并不广泛。比如起别名,以及模板层的反向解析等等。

1、urls.py的文件意思就是告诉django,对于客户端访问的这个链接,应该交给哪一段代码来处理。

2、基本样式:

 1 # coding:utf-8
 2 from django.contrib import admin
 3 from django.urls import path,re_path
 4 from test_app import views
 5 
 6 urlpatterns = [
 7     path('admin/', admin.site.urls),
 8     path('login/', views.login),
 9     path('extend_index/', views.extend_index),
10     path('extend_order/', views.extend_order),
11     path('extend_shopping_list/', views.extend_shopping_list),
12     path('extend_base/', views.extend_base),
13     path('add_order/', views.add_order, name='zengjia'),
14     path('query_order/', views.query_order, name='chaxun'),
15     re_path(r'del_order/(\d+)', views.delorder, name='shanchu'),
16     re_path(r'edit_order/(\d+)', views.edit_order, name='bianji'),

  path:第一个参数代表你访问的链接。第二个参数代表对应的views里面的函数。

  re_path:r的目的是告诉python该字符串中任何字符都不应该转义,所以对于re_path,建议都加上。后面可以随意加正则.

3、关于路由分发:

  正常一个项目基本上是一个功能或者一个模块一个app。所以基本上不会把所有url都写在全局url里面。

  如下:全局url做一个路由分发,分发给两个app:

from django.contrib import admin
from django.urls import path, include, re_path
from test_app import views

urlpatterns = [
    re_path(r'^$', views.index, name='ShouYe'),
    path('test_app/', include('test_app.urls')),
    path('test_app2/', include('test_app2.urls'))

]

   然后在后面的app url中写具体数据即可

# coding:utf-8
from django.urls import path
from test_app2 import views

urlpatterns = [
    path('timer/', views.timer),
]

   

   

猜你喜欢

转载自www.cnblogs.com/cbslock/p/12145071.html