您的位置:首页 > Web前端 > JavaScript

django1.8中如何显示图片,应用css样式,javascript事件

2016-05-19 19:30 459 查看
在django中将图片、javascript、css称为静态文件。如何将这些静态文件显示在django中呢?近期做一个项目,一直困扰着我,后来查找各种资源,终于在官方文档中找到。

官方文档链接

在setting.py文件中进行修改

1
INSTALLED_APPS 中要有
django.contrib.staticfiles

2要设置静态文件查找目录

STATIC_URL = '/static/'


或者:

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]


3在模版template中,使用静态文件连接时要么硬编码,例如:“/static/img/myexample.jpg”

注意:静态文件需要放在STATICFILES_DIRS声明的文件夹里。比如我的目录结构如下



要么使用static模版标签,例如:

{% load static %}
<img src="{% static "img/myexample.jpg" %}" alt="My image"/>


4存储静态文件在静态文件目录中

要么在每个app目录下,新建一个static文件夹,把静态文件放到其中。例如:在app1包里有static/img/myexample.jpg与之相关的设置就是在setting.py文件中设置

STATIC_URL = '/static/'


要么将所有的静态文件放到一个公共的地方,方便对其管理和共享。例如:在manage.py同级目录下新建一个static文件夹,在这个文件夹下在建一个img文件夹,里面有myexample.jpg文件。在与之相关的设置是

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]


django系统会首先在STATICFILES_DIRS中查找所需的静态文件,然后在STATIC_URL中查找,如果有同名的文件,会返回第一个找到的文件。

二、我的一个例子:

setting.py文件下

STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)


static文件结构如下



在template文件中有如下片段:

{% block content %}
<div>
{% load static %}
<p>
<a href="/app1/index/"><img src="{% static "img/success1.jpg" %}" alt="My image" height="600px" width=auto/></a>
</p>
</div>
{% endblock %}

下面是实验效果

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: