一、说明
网站通常需要提供其他文件,如图片,JavaScript或CSS。在Django中,我们将这些文件称为静态文件
Django提供 django.contrib.staticfiles来帮助你管理它们
二、作用
管理静态文件(例如图像,JavaScript,CSS,字体,图片)
三、目录结构
代码语言:javascript复制project/
App/
templates/
static/
css/
js/
img/
四、配置静态文件
INSTALLED_APPS存在django.contrib.staticfiles
在您的设置文件中,定义STATIC_URL
代码语言:javascript复制STATIC_URL = <span class="hljs-string">'/static/'</span>
在您的模板中可以用硬编码url的方式 /static/my_app/example.jpg
但是最好使用static
模板标签通过使用配置的STATICFILES_STORAGE存储来构建给定相对路径的URL (当您想要切换到内容交付网络(CDN)时,用于提供静态文件)
使用
注意:目录static在App应用目录下 则以上默认配置没问题
加载标签(加载标签选择任意一个即可 需写在模板第一行)
- {% load static from staticfiles %}
- {% load staticfiles %}
- {% load static %}
{% load static %}
采用软连接或者硬链接的方式
<img src="{% static 'img/img.gif' %}" alt="">
<img src="/static/img/img.gif" alt="">
五、注意
您的项目可能还会有不与特定应用绑定的静态资产
除了static/
在应用程序中使用目录之外,您还可以STATICFILES_DIRS
在设置文件中定义一个目录列表
配置settings.py
代码语言:javascript复制STATIC_URL = <span class="hljs-string">'/static/'</span>
STATICFILES_DIRS = [
os.path.join(BASE_DIR,<span class="hljs-string">'static'</span>)
]