Django—App整合
在django开发之初,就鼓励大家进行松耦合的开发。目的追求代码独立性,可迁移性,可复用性,更方便代码的修改和维护。所以我们开发django的APP的原则就是尽量让项目独立。
独立的url
独立的url针对多个app,也就是说在django项目当中有多个功能块儿
② 在主urls当中包含字url
③ 子url的语法和主url的语法类似
④访问的时候需要主url拼接子url形成完整的url进行访问
独立的模板
①在settings当中,APP_DIRS等于True代表会自动搜索APP目录下的templates目录下的HTML文件。
②之前manage.py同级目录的templates删除掉
③在app当中创建新的templates目录,并且在该templates目录当中创建自己app名称(大小写可以忽略)的目录。创建app名称的目录的目的是为了区分不同app下,相同名称的HTML,
④视图当中使用子模板系统:
⑤Html当中使用子模板系统:
独立的静态
设置独立的url和独立模板的时候,目的很单纯,只是为了django项目当中的每个应用可以独立的拥有路由和模板。静态文件有点特殊,在网站开发和使用过程当中静态可以被分为两部分:
1、开发部分,就是指在开发过程当中必须的静态文件,比如:css, js, logo,background
2、使用部分,在网站使用的过程当中产生的静态文件,比如:上传的照片,文章或者商品的图片。
但是,在web开发的工作环境部署的时候,静态文件需要单独处理,如果用户请求的是一个网页,需要返回路由,到视图进行处理,如果请求的是一个图片,服务器直接返回静态资源。
所以对静态资源的独立思路有些特殊。
①在app当中创建static目录,并在目录下创建app名称(大小写可以忽略)的目录
②将静态文件放入app当中创建的静态目录当中
③进行settings配置,收集静态文件针对的是注册过的app
④注释STATICFILES_DIRS、 MEDIA_URL、 MEDIA_ROOT,配置当前项目静态文件的根目录
⑤进行收集命令,Python manage.py collectstatic
⑥解开STATICFILES_DIRS、 MEDIA_URL、 MEDIA_ROOT的注释,将STATIC_ROOT注释掉。
⑦修改前端文件路径
⑧修改模型的模型文件路径