分布式Django

酥酥 发布于 2021-09-18 933 次阅读


分布式Django

一、静态文件

定义:图片、视频、音频、css、js都是静态文件 静态文件配置- settings.py中,配置静态文件的访问路径[该配置默认存在] 通过哪个url地址找静态文件 STATIC_URL=’/static’:说明: 指定访问静态文件时是需要通过/static/xxx或http://127.0.0.1:8000/static/xxx[xxx表示具体的静态资源位置]#不走一般的路由了,去静态文件夹了 配置静态文件的存储路径STATICELES_DIRS STATICFILES_ DIRS保存的是静态文件在服务器端的存储位置 # file:setting.py STATICFILES_DIRS = os.path.join(BASE_DIR, “static”,)是元组只有一项的时候要记得加逗号

动态的获取静态文件地址

模板中访问静态文件img标签为例 方案2通过{% static贴标签访问静态文件%}
  1. 加载static{% load static}
  2. 使用静态资源-{% static ‘静态资源路径’%}
  3. 样例<img src=”(% static ‘images/lena.png’%}
这时候如果修改STATIC_URL和访问URL不会影响STATIC文件的读取

二、Django应用与分布式路由

1.创建应用

  1. 语法:在项目根目录下:python manage.py startapp 应用名
  2. settings.py中去INSTALLER_APP去注册
视作小MTV

2.分布式路由

各应用路由需要在主路由urls.py中用include方法去进行第一次分发,在应用的路由中也需要urls.py去搞定后续路由匹配 from ./(应用名) import views from django.urls import include 语法include(route,’应用.urls’)

3.分布式路由下的模板规则

应用内部可以配置模板目录
  1. 应用下手动创建templates文件夹
  2. settings.py中开启应用模板功能
  • TEMPLATE配置项中的’APP-DIRS’值为True即可
应用下templates和外层templates都存在时, django得查找模板规则,所以尽量不要重名
  1. 优先查找外层templates目录下的模板
  2. 按INSTALLED-APPS配置下的应用顺序逐层查找
同级不同应用优先级看INSTALLER_APP中哪个应用先注册