讲课笔记07:设置路由分发规则
(一)设置路由分发规则
设置路由地址是在项目同名的文件夹的urls.py文件里实现,这也是由配置文件settings.py的ROOT_URLCONF决定,以项目babies为例,配置属性ROOT_URLCONF指向babies文件夹的urls.py,如下图所示:
1、创建应用的路由文件(子路由) - urls.py
每个应用(App)均创建一个路由文件urls.py,目前没有什么具体内容,只写一条语句,定义一个空列表
urlpatterns=[
]
(1)创建index应用的路由文件
在index目录下创建urls.py文件,添加一个名为urlpatterns的空列表
(2)创建commodity应用的路由文件
在commodity目录下创建urls.py文件,添加一个名为urlpatterns的空列表
(3)创建shopper应用的路由文件
在shopper目录下创建urls.py文件,添加一个名为urlpatterns的空列表
2、配置项目的路由文件(主路由) - urls.py
(1)定义项目的路由集合
使项目的urls.py的urlpatterns指向每个应用的urls.py
(2)主路由文件代码说明
babies文件夹的urls.py定义了5条路由信息,分别是Admin站点管理、首页地址(项目应用index的urls.py) 、商品信息(项目应用commodity的urls.py) 、购物车信息(项目应用shopper的urs.py)和媒体资料。其中, Admin站点管理在创建项目时己自动生成,一般情况下无须更改。
整个babies文件夹的urls.py的代码说明
– from django.contrib import admin:导入内置Admin功能模块。
– from django.urls import path,include:导入Django的路由函数模块。
– urlpatterns:代表整个项目的路由集合,以列表格式表示,每个元素代表一条路由信息。
– path(‘admin/’, ‘admin.site.urls’):设定Admin管理系统的路由信息。'admin/'代表127.0.0.1:8000/admin的路由地址,admin后面的斜杠是路径分隔符,其作用等同于计算机中文件目录的斜杠符号; admin.site.urls指向内置Admin功能所自定义的路由信息,可以在Python目录Lib\site-packages\django\contrib\admin\sites.py中找到具体的定义过程。
(二)路由分发详解
1、路由函数include的作用
三个命名空间对应的三个文件夹:index、commodity、shopper
(三)设置商城的路由地址
我们已在babys文件夹的urls.py分别为项目应用index、shopper和commodity设置路由分发功能,本节将会在项目应用index、shopper和commodity的urls.py定义网站首页、商品列表页、商品详细页、购物车页面、个人中心页面和用户登录注册页面的路由地址。
1、index应用的配置
(1)编写index应用的视图views.py
创建视图函数 - indexView
indexView为视图函数的名称
index.html对应模板文件夹下的一个模板文件
目前index.html只显示一条信息“母婴商城首页”
render()用于渲染模板页面
代码如下所示:
母婴商城首页
2、commodity应用的配置
(1)编写commodity应用的视图views.py
定义了两个视图函数:commodityView和detailsView
urlpatterns = [
path(‘.html’, commodityView,{‘user’:‘admin’},name=‘commodity’),
path(‘detail/int:id.html’, detailView, name=‘detail’)
]