Python中Django框架下的staticfiles使用简介


Posted in Python onMay 30, 2015

django1.3新加入了一个静态资源管理的app,django.contrib.staticfiles。在以往的django版本中,静态资源的管理一向都是个问题。部分app发布的时候会带上静态资源文件,在部署的时候你必须手动从各个app中将这些静态资源文件复制到同一个static目录。在引入staticfiles后,你只需要执行./manage.py collectstatic就可以很方便的将所用到app中的静态资源复制到同一目录。

staticfiles的引入,方便了django静态文件的管理,不过感觉staticfiles的文档写的并不是太清楚,初次使用的时候还是让我有些困惑。

下面简单的介绍一下staticfiles的主要配置:

  •     STATIC_ROOT:运行manage.py collectstatic后静态文件将复制到的目录。注意:不要把你项目的静态文件放到这个目录。这个目录只有在运行collectstatic时才会用到。我最开始想当然的以为这个目录和MEDIA_ROOT的作用是相同的,致使在开发环境下一直无法找到静态文件。
  •     STATIC_URL:设置的static file的起始url,这个只可以在template里面引用到。这个参数和MEDIA_URL的含义差不多。
  •     STATICFILES_DIRS:除了各个app的static目录以外还需要管理的静态文件位置,比如项目公共的静态文件差不多。和TEMPLATE_DIRS的含义差不多。
  •     各个APP下static/目录下的静态文件django的开发服务器会自动找到,这点和以前APP下的templates目录差不多。
  •     在urls.py中加入静态文件处理的代码
  •  
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
  # ... the rest of your URLconf goes here ...
  urlpatterns += staticfiles_urlpatterns()
Python 相关文章推荐
python 实现堆排序算法代码
Jun 05 Python
Python中使用item()方法遍历字典的例子
Aug 26 Python
从零开始学Python第八周:详解网络编程基础(socket)
Dec 14 Python
Python IDLE 错误:IDLE''s subprocess didn''t make connection 的解决方案
Feb 13 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
Python中生成器和迭代器的区别详解
Feb 10 Python
Flask框架配置与调试操作示例
Jul 23 Python
tensorflow学习教程之文本分类详析
Aug 07 Python
Python爬虫基础之XPath语法与lxml库的用法详解
Sep 13 Python
使用Python实现跳帧截取视频帧
May 31 Python
详解程序意外中断自动重启shell脚本(以Python为例)
Jul 26 Python
python3多线程知识点总结
Sep 26 Python
简单介绍Python的Django框架的dj-scaffold项目
May 30 #Python
Python的Django框架中settings文件的部署建议
May 30 #Python
Python的Django中django-userena组件的简单使用教程
May 30 #Python
在SAE上部署Python的Django框架的一些问题汇总
May 30 #Python
python实现比较两段文本不同之处的方法
May 30 #Python
python统计文本文件内单词数量的方法
May 30 #Python
python使用win32com库播放mp3文件的方法
May 30 #Python
You might like
php通用防注入程序 推荐
2011/02/26 PHP
判断php数组是否为索引数组的实现方法
2013/06/13 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
PHP实现的超长文本分页显示功能示例
2018/06/04 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
javascript 数组排序函数
2009/08/20 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
ExpressJS入门实例
2015/01/14 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
Vue中保存用户登录状态实例代码
2017/06/07 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
详解vue 兼容IE报错解决方案
2018/12/29 Javascript
vue表单验证你真的会了吗?vue表单验证(form)validate
2019/04/07 Javascript
angular4+百分比进度显示插件用法示例
2019/05/05 Javascript
layui form表单提交之后重新加载数据表格的方法
2019/09/11 Javascript
js实现登录时记住密码的方法分析
2020/04/05 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python编写电话薄实现增删改查功能
2016/05/07 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
Python通过for循环理解迭代器和生成器实例详解
2019/02/16 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
keras K.function获取某层的输出操作
2020/06/29 Python
编写html5时调试发现脚本php等网页js、css等失效
2013/12/31 HTML / CSS
世界上第一个水枕头:Mediflow
2018/12/06 全球购物
会计电算化大学生职业规划书
2014/02/05 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
新文化运动的基本口号
2014/06/21 职场文书
Elasticsearch6.2服务器升配后的bug(避坑指南)
2022/09/23 Servers