Django应用 - app
Django中应用程序
应用在Django的项目中是一个独立的业务模块,可以包含自己的路由,视图,模板,模型.
一创建应用程序
创建步骤
- 用manage.py中的子命令startapp创建应用文件夹
- 在settings.py的INSTALLED_APPS列表中配置安装此应用
创建应用的子命令
python3 manage.py startapp应用名称(必须是标识符命令规则)
如:python3 manage.py startapp音乐
Django的应用的结构组成
migrations文件夹 | 保存数据迁移的中间文件 |
__inti__.py | 应用子包的初始化文件 |
admin.py | 应用的后台管理配置文件 |
apps.py | 应用的属性配置文件 |
models.py | 与数据库相关的模型映射类文件 |
tests.py | 应用的单元测试文件 |
views.py | 定义视图处理函数的文件 |
配置安装应用
在settings.py中配置应用,让此应用能和整个项目融为一体
# file : settings.py INSTALLED_APPS = [ ... ..., '自定义应用名称' ]
如:
INSTALLED_APPS = [ # .... 'user', # 用户信息模块 'music', # 音乐模块 ]
二应用的分布式路由
在Django中,主文件夹可以不处理用户具体请求的,主文件夹的作用是做项目的初始化以及请求的分发(分布式请求处理)。具体的请求可以由应用来进行处理的
django.conf.urls里的包含函数
作用:用于分布将当前路由转到各个模块的urlpatterns进行分布式处理
函数格式:包含('应用程序名字.URL模块名')
参数说明:模块App命字/url模块名.py
文件件里必须有urlpatterns列表
使用包括函数让某个正则匹配后关联分支到某个app示例如下:
# file : <项目名>/urls.py 主路由 from django.conf.urls import include urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^music/', include('music.urls')), ] ################## # file : music/urls.py 分支路由 from django.conf.urls import url from . import views urlpatterns = [ url(r'^page1', views.page1), url(r'^page2', views.page2), url(r'^page3', views.page3), # ... ]
练习:?
1.创建四个应用
- 创建 index 应用,并注册
- 创建 sport 应用,并注册
- 创建 news 应用,并注册
- 创建 music 应用,并注册
2.创建分布式路由系统 主路由配置只做分发 每个应用中处理具体访问路径和视图
- 127.0.0.1:8000/music/index 交给 music 应用中的 index_view() 函数处理
- 127.0.0.1:8000/sport/index 交给 sport 应用中的 index_view() 函数处理
- 127.0.0.1:8000/news/index 交给 news 应用中的 index_view() 处理处理