静态路由及动态路由
静态路由
概念:
静态路由用来映射对应视图函数,其中urlpatterns是路由文件中的一个全局变量,用来存放路由及视图函数的映射关系
作用:
用于固定地址的路由,一般作业中使用的路由都是静态路由
动态路由
作用:
较为复杂,当路由设置在改变的时候,就要用到动态路由。
path动态路由
path('index2/<int:id>/',views.IndexView2.as_view()),
class IndexView2(View):
def get(self,request,id):
return HttpResponse(f"匹配到的id为{id}")
re.path动态路由
PS:使用正则表达式来编写
re_path(r'^(?P<x>\d+)/(?P<y>[a-zA-Z]+)/$',views.IndexView3.as_view())
class IndexView3(View):
def get(self,request,x,y):
return HttpResponse(f"x为{x},y为{y}")
访问连接:**http://127.0.0.1:8000/abc/123/**以获取到x和y的值
路由分发
概念:一般路由是直接写到主项目的url里的。而在主项目创建多个自定义应用的时候则需要运用到路由分发include将路由分给到各个应用中。
运用:
from myapp import urls
urlpatterns = [
path('',include(urls))
]
PS:
需要在各个应用内创建urls.py文件来将url地址存放到里面。
路由分发的优点
1.路由分发为我们带来的好处有很多,可以让我们在多个app的项目中更加方便有效的管理每一个路由
2.可以让我们的用户在访问时看到浏览器中的URL地址更加赏心悦目