使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了。特记录下来。

关键的概念:Django中,静态资源的存放通过设置 STATIC_URL, STATICFILES_DIRS 来设置,一般STATIC_URL设置为:/static/

STATIC_URL='/static/', 这个static 是在Django 具体APP下建立的static目录,用来存放静态资源。而STATICFILES_DIRS一般用来设置通用的静态资源,对应的目录不放在APP下,而是放在Project下,例如:

STATICFILES_DIRS=(os.path.join(BASE_DIR, "common_static"),)

具体在模板文件中访问的时候,都是统一用:/static/资源名的方式,就可以访问到资源,不论具体的目录是APP下的static,还是project下的common_static, 都可以用/static/资源名的方式访问到。

为增强可移植性,在模板中可以用:STATIC_URL来代替具体的/static/来设置资源路径,但是需要在settings.py中2个地方进行设置,否则会发生取不到资源的错误:

1. INSTALLED_APPS 中,加入 'django.contrib.staticfiles'

2. TEMPLATES 中,context_processors中,加入django.template.context_processors.static

模板中调用时:

<img src="{{STATIC_URL}}pic.jpg " />

Python Django 中的STATIC_URL 设置和使用解析的更多相关文章

  1. Python Django中QQ邮箱授权码问题

    Python Django中QQ邮箱授权码问题 系统及软件版本如下: Ubuntu Kylin 16.04 Python 3.5.1 Django 1.9.7 PyCharm Community Ed ...

  2. RSA算法在Python Django中的简单应用

    说明 RSA算法是当今使用最广泛,安全度最高的加密算法. • RSA算法的安全性理论基础 [引]根据百科介绍,对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难, ...

  3. django中mysql数据库设置错误解决方法

    刚在django中settings.py进行设置mysql数据库. 当进行执行python manage.py shell命令时会报以下错误: 只需要在settings.py中 DATABASES = ...

  4. Django 中文和时区设置

    Django 语言和时区的设置都在 settings.py 文件中. 中文设置 LANGUAGE_CODE:设置语言,英语 en-us,中文简体 zh-Hans,中文繁体 zh-Hant 在 MIDD ...

  5. django中的分页设置

    1.在控制台中的展示 from django.core.paginator import Paginator iter = 'abcdefghijklmn' inator = Paginator(it ...

  6. Django中的form设置field的html属性

    在Django中无论何种field,都有一个widget的属性: class Field(object): widget = TextInput # Default widget to use whe ...

  7. python Django中的cookie和session

    目录 Cookie 1.1获取Cookie 1.2设置Cookie Session 1.数据库Session 2.缓存Session 3.文件Session 4.缓存+数据库Session Cooki ...

  8. python django中的orm外键级联删除

    今天添加了一个路由表,路由表做外键,然后添加了几个组,路由表为组的外键,当我使用删除功能对路由表进行删除时,竞然将我的组也相当的删除了:尽管这是测试,但放到生产环境中还是会发生意外的:这个问题要解决: ...

  9. django中的时区设置TIME_ZONE,USE_TZ

    Django如果开启了Time Zone功能,则所有的存储和内部处理,甚至包括直接print显示全都是UTC的.只有通过模板进行表单输入/渲染输出的时候,才会执行UTC本地时间的转换. 所以我建议后台 ...

随机推荐

  1. 差分约束系统+spfa(B - World Exhibition HDU - 3592 )

    题目链接:https://cn.vjudge.net/contest/276233#problem/B 思路和上一个一样,不过注意点有两个,第一,对dis数组进行初始化的时候,应该初始化成ox3f3f ...

  2. 【codeforces】【比赛题解】#868 CF Round #438 (Div.1+Div.2)

    这次是Div.1+Div.2,所以有7题. 因为时间较早,而且正好赶上训练,所以机房开黑做. 然而我们都只做了3题.:(. 链接. [A]声控解锁 题意: Arkady的宠物狗Mu-mu有一只手机.它 ...

  3. jquery记忆笔记

    1.javascript需要注意的一些问题: ①不要使用==比较,始终坚持使用===比较. false == 0; // true false === 0; // false ②NaN这个特殊的Num ...

  4. python3实现socket通信

    目的:实现两台机器之间的通信.也就是说一个作为服务端(时刻监听接收数据),另一个作为客户端(发送数据). Python实现的过程个人理解: 1.服务端开始监听. 2.客户端发起连接请求. 3.服务端收 ...

  5. T-SQL创建前删除已存在存储过程

    --判断是否存在addOneArticle这个存储过程 if Exists(select name from sysobjects where NAME = 'addOneArticle' and t ...

  6. How to omit h1 title heading in HTML export

    How to omit h1 title heading in HTML export */--> Introduce how to omit h1 title in the exported ...

  7. [C++]返回最值元素

    1 priority_queue C++中优先队列是一种特殊的队列,能够返回队列中优先级最大或者最小的元素,其内部是由堆实现的,个人认为这种方式使用更加直观. 1.1 返回vector中的最值元素 # ...

  8. element-ui 2.7.2版本使用 表格展开行 功能遇到的奇葩问题?

    在使用 element-ui 2.7.2版本的时候报下面的错误: [Vue warn]: Error in callback for watcher "data": "E ...

  9. HTML标签列表总览

    超文本标记语言(简称:HTML)标记标签通常被称为HTML标签,HTML标签是HTML语言中最基本的单位,HTML标签是HTML(标准通用标记语言下的一个应用)最重要的组成部分.HTML标签的大小写无 ...

  10. UML中的6大关系(关联、依赖、聚合、组合、泛化、实现)

    UML定义的关系主要有六种:依赖.类属.关联.实现.聚合和组合.这些类间关系的理解和使用是掌握和应用UML的关键,而也就是这几种关系,往往会让初学者迷惑.这里给出这六种主要UML关系的说明和类图描述, ...