leedaily

除了由服务器生成的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">

 

分类:

技术点:

相关文章:

  • 2021-11-19
  • 2021-11-19
  • 2021-11-19
  • 2021-11-19
  • 2021-11-19
  • 2021-08-13
  • 2021-08-13
  • 2021-11-19
猜你喜欢
  • 2021-11-19
  • 2021-08-13
  • 2021-11-19
  • 2021-11-29
  • 2021-11-19
  • 2021-11-19
  • 2021-11-19
相关资源
相似解决方案