模板静态文件

2022-09-14 17:45:27 浏览数 (1)

一、说明

网站通常需要提供其他文件,如图片,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 %}
代码语言:javascript复制
{% 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>)
]

0 人点赞