django 静态文件

settings.py 中的相关配置

STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR,"static")

一般来说我们只要把静态文件放在 APP 中的 static 目录下,部署时用 python manage.py collectstatic 就可以把静态文件收集到(复制到) STATICROOT 目录,但是有时我们有一些共用的静态文件,这时候可以设置 STATICFILESDIRS 另外弄一个文件夹,如下:

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "common_static"),
    "/var/www/static/",
)

这样我们就可以把静态文件放在 common_static 和 /var/www/static/中了,Django 也能找到它们。

MEDIA_URL = "/media/"
MEDIA_ROOT = os.path.join(BASE_DIR,"media")

media 文件夹用来存放用户上传的文件

nginx 部署时的配置

location /media  {
    alias /path/to/project/media;
}

location /static {
    alias /path/to/project/collected_static;
}

在模板中引入静态文件

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

及时获取更新,请关注公众号“爬虫技术学习(spider-learn)”

公众号“爬虫技术学习(spider-learn)”

About 逸飞

后端工程师

发表评论

电子邮件地址不会被公开。 必填项已用*标注