Django使用静态文件

除了由服务器生成的HTML文件外,网页应用一般需要提供其它必要的文件 —— 比如图片文件、JavaScript脚本和CSS样式表 —— 来为用户呈现出一个完整的网站。 在Django中,我们将这些文件称为“静态文件”。

对于小型项目,这不是个大问题,因为你可以将它们放在你的网页服务器可以访问到的地方。 然而,在大一点的项目中 —— 尤其是那些由多个应用组成的项目 —— 处理每个应用提供的多个静态文件集合开始变得很难。

这正是django.contrib.staticfiles的用途:它收集每个应用(和任何你指定的地方)的静态文件到一个单独的位置,这个位置在线上可以很容易维护。

 

1、新建目录

根目录下新建文件夹 static 目录结构如下:

static
css
style.css
images
1.jpg
js
main.js

 

 

2、修改Django相关文件

#setting.py 增加以下配置
STATIC_URL = '/static/'
HERE=os.path.dirname(os.path.dirname(__file__))
STATIC_ROOT =os.path.join( HERE , 'static').replace('\\','/')
STATICFILES_DIRS = (
("images", os.path.join(STATIC_ROOT,'images').replace('\\','/')),
("css", os.path.join(STATIC_ROOT,'css').replace('\\','/')),
("js", os.path.join(STATIC_ROOT,'js').replace('\\','/')),
)
#urls.py 增加以下配置
urlpatterns += static(settings.STATIC_URL, document_root = settings.STATIC_ROOT )

 

 

3、调用静态文件

{% load staticfiles %} #必须
<link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}" />
<script src="{% static 'js/main.js' %}" type="text/javascript"></script>
<img src="{% static 'images/1.jpg' %}" width="100px">

 

posted on 2018-01-15 10:31  weblee  阅读(1948)  评论(0编辑  收藏  举报