django静态文件处理
django静态文件处理
从开始接接触python这门语言已有四年了,中间陆续的学习,又不断的忘记,所以基本上是没有系统的知识体系。但是挺喜欢这门简洁,强大的动态语言。最近自己私人有个项目要做,虽然之前一直是用java开发,但自己一个人做东西总想找点新鲜有激情的东西玩下,不用考虑团队知识的问题。所以毫不犹豫的选择用python。因为是个web项目,所以框架就用django(python的web框架也蛮多,听说web.py很轻量级)。其实学习任何新的东西都是这样,光看书是没用的,一定要多动手,多实践。好了,不扯了,回答这篇blog的重点上来。
django对url和处理的具体代码的映射是在urls.py里配置的,如下:
urlpatterns = patterns('', url(r'^$', 'mysite.views.home', name='home'), url(r'^mysite/', include('mysite.foo.urls')), url(r'^admin/', include(admin.site.urls)),)
这很好理解。但是静态文件(css,js)怎么处理呢?,静态文件是不需要做上面的映射的。
在要在你的app工程下面新建一个"static"的文件夹,把静态资源放到些文件夹里(目录结构如下图),就可以通过http://localhost:8000/static/images/1.jpg访问了。

但是现在有个问题:如果把settings.py配置改下:
DEBUG = False |
把DEBUG从True改成False后就会出现404(必需指定404和500错语页面,如上图的目录结构)找不到页面的错误。原因是DEBUG为True时django会默认帮我们处理静态文件,而为False的话还需要我们做点事。在全局usrs.py中加下如下代码:

from django.conf import settingsif settings.DEBUG is False: urlpatterns += patterns('', url(r'^static/(?P<path>.*)$', 'django.views.static.serve', { 'document_root': settings.STATIC_ROOT, }), )

修改settings.py中的设置:
STATIC_ROOT = 'F:/testweb/static'
以上设置是指定静态资源的绝对路径(根据你电脑的具体路径设置正确值),现在应该可以正确访问了。
总结:
- 在DEBUG为true时我们只需要建立static目录后,把静态资源放进去就可以访问。在DEBUG为False时需要我们手动指定静态资源目录,并配置映射关系。
- 在正式环境下建议不采用django处理静态资源文件,这样对应用服务器压力较大,也不好做cdn。可以用ngix,apache部署静态资源。
django静态文件处理的更多相关文章
- django静态文件
django静态文件(js脚本.CSS.图片等) 默认统一放在每一个app的static文件夹下, 通过收集静态文件命令,自动将每一个app下static文件夹下的文件复制到根目录的static文件夹 ...
- 55 Django静态文件配置
一.Django静态文件配置 1.项目文件夹,新建一个文件夹statics 文件夹 2.在配置文件settings.py中,配置: 文件中有第句: STATIC_URL = '/static/'#静态 ...
- django 静态文件
django 1.8版本以上 django 静态文件配置. 小作之前, 一直觉得django的静态文件配置非常的麻烦. 1. 要设置url(r'^static/(?P<path>.*)&a ...
- Django 静态文件配置 (Nginx)
初学Django,在访问静态文件时候遇到很多误区,一直配置不成功,在此记录一下. Django静态文件访问分为两种:一种是Debug模式下,测试开发网站时对静态文件的访问,一种是实际生产环境中对静态文 ...
- Django静态文件配置-request方法-ORM简介-字段的增删改查
app的创建注意事项: 在Django新创建的app要在seetings.py中添加注册,才会生效 创建app:django-adminapp an startapp app名称 或者 python3 ...
- django静态文件配置
开发环境配置 需要下面几个步骤 1. 在app目录下创建static目录,将静态文件和相关文件夹放到此目录下,如your_app/static/img等 2. 确保settings.py中的INSTA ...
- Django 静态文件配置(static files)
Django version: 1.9 Python versrion: 3.5.2 这几天Django配置静态文件(本例是要加载index.css), 总是不对,最后终于试对了,这里记录下,方便以后 ...
- django静态文件查找逻辑
最近被django的静态文件配置整疯了. 决定直捣黄龙,看看底层代码: 首先用manage finstatic xxxx.js 看看处理逻辑,发现主要在:C:\Python27\Lib\site-pa ...
- django 静态文件配置
配置静态文件 在settings.py中尾部添加一下内容 STATICFILES_DIRS = [ #路径 BASE_DIR:项目文件根目录 os.path.join(BASE_DIR,'static ...
随机推荐
- Python中的lambda函数介绍
Lambda函数,即Lambda 表达式(lambda expression),是一个匿名函数(不存在函数名的函数),Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lam ...
- L298N模块的使用(文末有惊喜)
这个模块有两个供电口,标示着“12V输入”的是功率驱动电源输入,供电范围可以是7-46V, 一般12V供电就能满足我们大部分的DIY需求.标示着“5V输出可不接”的是逻辑供电, 当我们将“板载5V输出 ...
- ETCD成员维护
# For each machine TOKEN=my-etcd-token-1 CLUSTER_STATE=new NAME_1=etcd-node-1 NAME_2=etcd-node-2 NAM ...
- 无线客户端掉线(Disassociate and DeleteReason)
- 第3章 Java基本的程序设计结构
3.运算符 浅谈java中源码常见的几个关键字(native,strictfp,transient,volatile) 需要注意 , 整数被 0 除将会产生一个异常, 而浮点数被0 除将会得到无穷大或 ...
- 秋招落幕,对自己的总结by2018-10-20
在今天阿里沟通offer完毕,正式三方也确定了,一切如梦,想想1月的自己还担心未来的自己会花落谁家,到10月的今天,一切尘埃落地.一直不怎么喜欢总结自己的历程,今天无聊的我也总结一波吧. 准确的说没有 ...
- php 高级 PHP的垃圾回收机制
PHP可以自动进行内存管理,清楚不再需要的对象.PHP使用了引用计数这种单纯的垃圾回收机制.每个对象都内含一个引用计数器,每个reference链接到对象,计数器加1,当reference离开生存空间 ...
- Centos7 [ubuntu] 安装pycharm2019.1.3并永久破解教程
一.安装pycharm2019专业版并激活步骤 1.拉取安装包 # wget https://download.jetbrains.com/python/pycharm-professional- ...
- 设计模式课程 设计模式精讲 3-7 接口隔离原则讲解及Coding
1 主讲内容 1.1 核心内容 1.2 优点 1.3 课程记录 2 代码演练 2.1 接口隔离原则反比 2.2 接口隔离原则正比 1 主讲内容 1.1 核心内容 总结:细粒度可以进行再组装,粗粒度不可 ...
- vue element 时间选择器设置禁用日期
在 el-date-picker 组件中有一个 picker-options 属性 disabledDate 可以设置日期的可选范围 <el-date-picker v-model=" ...