尊重作者的劳动,转载请注明作者及原文地址 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. Tomcat域名映射和端口设置

    1.打开tomcat主目录  --->  打开conf目录 ---> 找到并打开server.xml文件 2.修改tomcat的监听端口为80端口 在文件中找到: <Connecto ...

  2. S 合伙人

    [Public] ConnectString=host="siebel://10.10.0.46:2321/HC_CRM/SMObjMgr_chs ConnectUserName=SADMI ...

  3. MySql 关键字冲突解决办法

    今天把项目发布到另一台机器上时,因为mysql版本不一致,出现了关键字冲突,virtual关键字,不清楚是不是mysql添加的新特性. select * from herb where name=&q ...

  4. Linux进程之Fork函数

    Fork()函数 1.所需头文件: #include <unistd.h> #include<sys/types.h> 2.函数定义 pid_t fork( void ); p ...

  5. Python_03-数据类型

    1.1   数据类型 基本数据类型:字符串,整数,浮点数,布尔型 集合类型:列表(list), 元组(tuple), 字典(dictionary或hash) 列表(list)的定义: aList = ...

  6. UNITY录制视屏解决方案 - ShareREC For Unity3D

    注意buildSetting里面,AutoGraphic改成opengl es2,否则魅蓝手机上容易出现1/4屏 一.导入项目 1.到Mob官网下载ShareREC For Unity3D 的SDK包 ...

  7. ICG游戏:斐波那契博弈

    描述: 有一堆个数为n(n>=2)的石子,游戏双方轮流取石子,规则如下: 1)先手不能在第一次把所有的石子取完,至少取1颗: 2)之后每次可以取的石子数至少为1,至多为对手刚取的石子数的2倍: ...

  8. Qt Pro file

    Qt keys qmake Manual Building Common Project Types #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...

  9. log日志查看

    (1)类型1: TcLogCls::add_log($data, __METHOD__ . '::订单号:' . $order_no, 'tc_order'); (2)类型2:

  10. [Selenium]How to click on a hidden link ,move to the drop down menu and click submenu

    <table id="_paid_19" class="GOMainTable" cellspacing="0" cellpaddin ...