尊重作者的劳动,转载请注明作者及原文地址 http://www.cnblogs.com/txwsqk/p/6517553.html

完全翻译自官方文档 https://docs.djangoproject.com/en/1.10/intro/tutorial06/

我们的web应用除了展示html外,还需要处理一些静态的文件,比如图片,css,js等,当你的应用很小时这很简单你把静态文件放到一个固定的地方就可以

然而当你的项目由多个应用组成时,django在使用静态文件时就要收集这些应用的各自的静态文件了,django.contrib.staticfiles这个模块就是做这个的

这个模块就是从你的所有应用里的静态文件路径里收集然后放到一个地方

你可以在你的应用里创建一个叫static的文件夹,把你的css文件放到这个目录polls/static/polls/style.css, 看起来跟template的目录结构完全一样

django的这个配置 STATICFILES_FINDERS定义了很多finder,而默认的finder叫AppDirectoriesFinder,它会根据INSTALLED_APPS里定义的app的static目录下查找静态文件

下面我们写一个css文件应用到html中

polls/static/polls/style.css

li a {
color: green;
}

polls/templates/polls/index.html

{% load static %}

<link rel="stylesheet" type="text/css" href="{% static 'polls/style.css' %}" />

{% static %}这个标签会为你的路径生成绝对路径

现在刷新下你的页面css已经生效了

上面这个方法只适合在开发阶段,也就是说你用runserver启动并且debug设置为true时才有效果,不适用正式产品 !!!

为什么呢? 因为django是python的应用框架,处理静态文件应该交给更专业的apache或nginx,所以请继续往下看

django的这节到这里已经讲完了,它让你自己去看其它内容,比如生产环境如何处理你的静态文件,我在这也大体说一下啊

每当你更新了你的静态文件你都应该运行这个命令

django-admin collectstatic

这个命令会从你的所有INSTALLED_APPS中的静态文件目录中收集静态文件到一个特定的目录,就是STATIC_ROOT定义的

然后你就配置你的web server(apache,nginx)定义一个location,这个location的路径就是STATIC_URL的路径,这样就串起来了

想了解更多 https://docs.djangoproject.com/en/1.10/howto/static-files/deployment/

本节完

django入门-静态文件-part6的更多相关文章

  1. [django]windows下用Django,静态文件请求失败,出现UnicodeDecodeError

    问题:windows下用Django,静态文件请求失败,出现UnicodeDecodeError:'utf-8' codec can't decode byte 0xb0 in position 1: ...

  2. django处理静态文件

    静态文件指的是js css 还有图片这些,配置方法如下 1. 在设置文件(settings.py)中,installed_apps中添加 django.contrib.staticfiles 然后设置 ...

  3. Django中静态文件引用优化

    静态文件引用优化 在html文件中是用django的静态文件路径时,一般会这么写: <script type="text/javascript" src="/sta ...

  4. django的静态文件的引入

    django的静态文件的引入 1.路径配置 在templates文件夹的同级目录下新建static文件夹 在setting里面写上STATICFILES_DIRS = [os.path.join(BA ...

  5. apache上部署django的静态文件

    一直在优化自己博客的代码, 昨天把css样式表分离出来, 用作静态 文件, 但是自己还没学django怎么使用静态文件, 经过一番google 终于解决了. django 使用静态文件有两种方法, 一 ...

  6. django配置静态文件

    django配置静态文件 参考文章链接:http://blog.csdn.net/hireboy/article/details/8806098

  7. django 设置静态文件,static

    django 设置静态文件,static 一.搜集静态文件 1.1 命令行查看 collectstatic guoguos-MacBook-Pro:mysite guoguo$ python mana ...

  8. gunicorn启动django时静态文件的加载

    目前在用nginx+gunicorn对django进行部署 当我用gunicorn -w 4 -b 127.0.0.1:8080 myproject.wsig:application启动django时 ...

  9. [Django基础] gunicorn启动django时静态文件的加载

    目前在用nginx+gunicorn对django进行部署 当我用gunicorn -w 4 -b 127.0.0.1:8080 myproject.wsig:application启动django时 ...

随机推荐

  1. Oracle GoldenGate 二、配置和使用

    Oracle GoldenGate 二.配置和使用 配置和使用GoldenGate的步骤 1 在源端和目标端配置数据库支持GoldenGate 2 在源端和目标端创建和配置GoldenGate实例 3 ...

  2. Linux上编译hadoop-2.7.1的libhdfs.so和libhdfs.a

    hadoop提供了CMake来编译libhdfs,因此在编译之前需要先安装好CMake工具. 然后进入libhdfs的源代码目录,如:/data/hadoop-2.7.1-src/hadoop-hdf ...

  3. 搭建vue脚手架,包含Axios、qs、Element-UI、mock等插件的安装配置

    1.安装node.vue这些最基础最简单的安装的就一一省略过. 1.1 axios 安装 1.2安装 Element-Ui 插件 1.3 安装 qs 1.4  安装 Mock 2.新建一个vue工程, ...

  4. swift - 动态计算文本高度

        func heightOfCell(text : String) -> CGFloat {        let attributes = [NSFontAttributeName:UI ...

  5. Appium 之处理首次启动手机App时的系统权限弹框

    一般首次启动一个手机App时都会有系统权限弹框,如下图所示: 权限弹窗上面的按钮都是固定的,只需要定位到“ALLOW”按钮,点击就可以了,代码如下: 这里主要用selenium里面的显示等待模块(We ...

  6. B-spline Curves 学习之B样条基函数的定义与性质(2)

    B-spline Basis Functions 本博客转自前人的博客的翻译版本,前几章节是原来博主的翻译内容,但是后续章节博主不在提供翻译,后续章节我在完成相关的翻译学习. (原来博客网址:http ...

  7. TypeToken 是google提供的一个解析Json数据的类库中一个类

    Type listType = new TypeToken<LinkedList<User>>(){}.getType(); Type是java里的reflect包的Type ...

  8. write/read/send/receive函数比较

    建立好TCP连接后,就可以把得到的套接字当做文件描述符来使用,由此,联系到网络程序里的基本读写函数,write.read: l write函数: Ssize_t write(int fd,const ...

  9. lucene学习笔记(四)lucene分词详解

    分词器的核心类 Analyzer SimpleAnalyzer StopAnalyzer WhitespaceAnalyzer StandardAnalyzer TokenStream 分词器做好处理 ...

  10. Snapshot--使用Snapshot来还原数据库

    在数据库升级时,为防止升级失败造成的影响,我们通常需要: 1.准备回滚脚本,用于失败后回滚 2.在升级前备份数据库,用于失败后恢复 但回滚脚本需要花费很长时间准备,而备份恢复会导致数据库长时间不可用, ...