在网站开发过程中,每个业务一般会单独用一个URL地址来进行管理,而URL的形式非常像电脑目录一层一层的进行管理,所以在实际开发中,我们建议每一组独立的业务分成一个单独的URL来进行管理。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/86853cbc51de8b518b1fbffbf57d1ffd.png)
https://www.douban.com/note/673550797/
https://www.douban.com/note/665841994/
https://www.douban.com/gallery/topic/5317/
https://www.douban.com/gallery/all?column_id=25
https://www.douban.com/people/49451241
在Django
中,把一个网站称之为project
,通常会利用app(application,应用)分离业务,把一个网站中的业务称之为app
。
通常会新建一个apps
文件夹,专门用来存储各种应用。在templates
下,为每个应用建立文件夹,专门用来存储各个应用下的模板文件。
1、正向路由的概念
维护视图函数映射关系的结构,在web
框架中,称之为路由。
Django
把这种映射关系叫做URLConf
(URL
配置),URL
配置把 URL
映射到相应的视图函数上。我们以这种方式告诉 Django
,“访问这个URL
时调用这些代码,访问那个 URL
时调用那些代码”。
2、查看根路由
在settings.py
文件中通过ROOT_URLCONF
指定根级url
的配置。
3、为每个app创建子路由
类似个人电脑管理文件的方式,每组类似功能的资源应该放置在一个特定的目录下,那么对于网站的URL资源地址管理来说,也是建议用这种模式来进行操作。
一般的做法:
在主路由里,分配资源的主标识名称
在各app里的子路由里,分配资源的次标识名称
https://www.douban.com/movie/cinema/
https://www.douban.com/movie/explore/
https://www.douban.com/movie/tv/
https://www.douban.com/movie/chart/
在Django
中,利用django.conf.urls
里提供的include
方法来把主路由和子路由进行衔接。
主路由和子路由的操作方法
在应用中创建urls.py
文件,定义本应用中的urlconf
,再在项目的根urls.py
中使用include()
。使用include可以去除urlconf
的冗余。
匹配过程:先与主URLconf
匹配,成功后再用剩余的部分与应用中的URLconf
匹配。
操作步骤如下:
- 在app里创建一个管理子路由的py文件,一般命名就叫urls.py;
- 在app的urls.py里同样命名一个urlpatterns的全局变量,也是列表类型;
- 由于还是要借助django的URLConf结构,所以导入django.urls下的path方法;
- 开始定义自己的子路由映射关系;
- 将app里的urls模块通过include和主路由建立关系;
示例
(1)创建应用
python manage.py startapp study
(2)在根路由中包含子路由
path('study/',include('apps.study.urls')),
(3)编写子路由
(4)编写视图
(5)访问http://127.0.0.1:8001/study/
(6)解析匹配过程