django static 静态文件(css,js,image)处理机制

Django1.6 静态文件处理官方文档地址:https://docs.djangoproject.com/en/1.6/howto/static-files/

通过官方文档了解到Django并不会为解析静态文件作出很多功能设计,它认为把静态文件解析交给WEB服务器是最好的方法。但是为了开发过程中方便,django还是在自身的开发服务器中进行了相关功能的设定。

下面我简单介绍下在开发过程中Django解析静态文件所要设置的相关参数:


1.在我们的配置文件settings.py的INSTALLED_APPS这项值中加入django.contrib.staticfiles(一般项目创建会默认加入),这是Django帮我们处理静态文件的官方app


2.在我们的配置文件settings.py中定义 STATIC_URL = '/static/' (一般项目创建会默认加入) 此处的 STATIC_URL配置变量的值'/static/'就是我们HTML模板页面要引入CSS,JS等时需要指定的值,举个例子:引入jquery <script src="/static/js/jquery.js"></script> 路径中的/static/就是通过STATIC_URL指定,你如果想改成<script src="/my_static/js/jquery.js"></script>,那么只要把STATIC_URL= '/my_static/'即可


3.在我们的配置文件settings.py中定义

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

STATICFILES_DIRS代表解析静态文件时从哪些目录文档中去找到这些静态文件,django默认的查找机制是先从STATICFILES_DIRS包含的目录下去寻找,如果没有找到则会到每个APP的static文件中或者STATIC_ROOT中去找.(最新找到的目录就会引用该目录下的静态文件,而不再继续找下去,所要尽量不要命名相同名字和路径的静态文件)


4 在我们的配置文件settings.py中可能还有STATIC_ROOT这个静态文件处理的项,他的作用如下:

当工程部署之后,处理静态文件较好的方法是交给Web容器来做,比如Apache,所以我们要将所有的静态文件放在一起,然后交给Apache托管,Django提供了一个命令collectstatic用来把所有的静态文件收集到STATIC_ROOT当中。(python manage.py collectstatic


注意:

以上Django静态解析的功能只有在调试阶段才会起效,也就是DEBUG = True时有效,当DEBUG = False时就会关闭自身的静态解析功能从而交给WEB服务器去处理




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值