https://www.bilibili.com/video/BV1rx411X717?p=5
https://www.bilibili.com/video/BV1mz4y1Q7F4?p=5&spm_id_from=pageDriver 学习链接
情况说明:创建Django项目HelloDjango后,所有的urls路由信息都写入项目的urls.py里面,会导致urls.py文件臃肿,不易维护,耦合性高。
解决方法:不同的app功能模块,包含自己逻辑的路由信息,之后project项目中包含不同app的路由信息即可。
1.linux终端中创建新的功能模块Two
#1.进入项目路径
cd /home/dll/GP1/Day01/HelloDjango
#2.进入python虚拟环境
workon GP1
#3.HelloDjango项目中创建一个新的功能模块Two
python manage.py startapp Two
2.项目setting.py文件中包括新建的功能模块two
3.Two模块目录下创建urls.py文件,注意名字不能变
4.Two中的urls.py内容如下:
pycharm小技巧:鼠标置于path变量上边,按下 alt + enter键,可以看到出现提示import路径,
如果没有出来可以使用alt + enter + enter键
- path('index/', views.index)中这个views是Two模块自己的views.py函数
- 鼠标放在index变量下,使用pycharm的alt + enter + enter键,自动创建函数。
5. Two.views.py中添加index函数,和上面path中的index名字对应
6.项目的urls路由地址中,包含Two新添加的路由地址,内容如下:
说明:
- mytwo/ 和上面的home/一样是一个路径,这个地址可以自定义,这个地址是访问Two模块的index地址的入口地址,下面还会讲解
-
include('Two.urls') 表示包含了Two.urls中所有配置的路由信息
- 如果要访问刚刚Two功能模块中的index地址,访问路径为192.168.xxx.xxx:8000/mytwo/index,这里的mytwo也就是下面path中的
path('mytwo/',include('Two.urls'))里面的第一个参数。这个可以进行修改,修改后访问Two模块中的index地址随之更改。
7.访问Two中的index地址结果:
8.向模板中传递参数
- Two中创建templates模板文件夹,templates文件夹中新建文件test.html
- Two的urls.py中新建test路由,如下:
- Two的views.py中新建路由函数如下:
访问结果如下: