什么是应用
应用在Django项目中是一个对立的业务模块,可以包含自己的路由、视图、模板、模型。例如某资讯类网站可以包含金融、体育、娱乐、时尚等多个板块的内容。
创建方法
- 用
manage.py
中的子命令startapp
创建应用文件夹 - 在
settings.py
的INSTALLED_APP
列表中配置此应用
分布式路由
Django中,主路由配置文件urls.py
可以不处理用户具体路由,主路由配置文件可以做请求的分发(分布式请求处理),具体的请求可以由各自的应用来进行处理。
配置分布式路由
- 在主路由中调用函数
include('app名字.url模块名')
从而将当前路由转到各个应用的路由配置文件的urlpatterns进行分布式处理 - 在应用下配置
urls.py
在应用下手动创建urls.py
文件,其内容结构与主路由完全相同
应用下的模板
在应用的内部,也可以配置模板目录,其步骤如下:
- 在应用文件夹下手动创建
templates
文件夹 - 在
settings.py
中开启应用模板功能,即将TEMPLATES
配置项中的APP_DIRS
配置为True即可
当应用下和外部templates都存在时,django查找模板规则如下:
- 优先查找外层
templates
目录下的模板 - 按
INSTALLED_APP
列表中的应用顺序逐层查找
要解决以上办法,可以在子APP中的templates
文件夹中再创建子文件夹,然后修改views.py
中render函数里的模板路径。