尊重作者的劳动,转载请注明作者及原文地址 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. typedef用法和与define的区别

    typedef用来声明一个别名,typedef后面的语法,是一个声明.本来笔者以为这里不会产生什么误解的,但结果却出乎意料,产生误解的人不在少数.罪魁祸首又是那些害人的教材.在这些教材中介绍typed ...

  2. 一些jquery常用方法

    1.jquery实现平滑滚动到指定锚点 $(document).ready(function() { $("a.topLink").click(function() { $(&qu ...

  3. UNITY5 为什么Inspector视图中脚本前面的勾选框没了

    结果发现了一个奇葩的问题..凡事脚本没有勾选项的,都是因为你的脚本没有Start方法..如果你想让勾选框显示出来,把如下方法加入即可,不信你可以试试.嘿嘿.

  4. unity shader tags

    "IgnoreProjector",值为"true"时,表示不接受Projector组件的投影. "ForceNoShadowCasting" ...

  5. Node节点部署

    一.部署kubelect 二进制包准备 将软件包从linux-node1复制到linux-node2.linux-node3中去 [root@linux-node1 ~]# cd /usr/local ...

  6. An Introduction To Value at Risk (VAR)

    http://www.investopedia.com/articles/04/092904.asp http://www.jpmorgan.com/tss/General/email/1159360 ...

  7. android studio升级方法

    android studio 更新问题: 如果被墙则采用以下步骤: 一:看版本 help-->about    AI***************** 二:查看android studio最新版 ...

  8. MySQL性能调优与架构设计——第11章 常用存储引擎优化

    第11章 常用存储引擎优化 前言: MySQL 提供的非常丰富的存储引擎种类供大家选择,有多种选择固然是好事,但是需要我们理解掌握的知识也会增加很多.每一种存储引擎都有各自的特长,也都存在一定的短处. ...

  9. Python + Robotframework + Appium 之APP自动化测试小试牛刀(Android)

    Robotframework如何好?这里先不说了~ Python更不用说了~ Appium前面的文章有介绍~ 今天直接来Python+Robotframework+Appium 三者结合起来,对And ...

  10. [转]使用WCF 4.0 构建 REST Service

    本文转自:http://www.cnblogs.com/lanvige/archive/2010/12/03/set_up_rest_service_with_wcf_4.html 用过一段时间的Ru ...