# 4.静态文件
# https://docs.djangoproject.com/zh-hans/4.1/howto/static-files/
# 1.'django.contrib.staticfiles',
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'www',
]
# 2.配置路径
STATIC_URL = 'static/' # 声明各个应用中的静态文件目录
# STATIC_ROOT = os.path.join(BASE_DIR, 'static') # 上线后改为这个,下面的注释掉
# python manage.py collectstatic
一般:当STATICFILES_DIRS存在时,首先到STATICFILES_DIRS里面寻找静态文件,
其次再到各个app的statics文件夹里面找
不存在STATICFILES_DIRS时,会直接根据STATIC_URL去APP目录下查找,但是记住,
STATIC_URL是必须要添加的
# 如果有一些静态文件是不和任何app有联系,即不在任何一个应用的目录下。那么可以在settings.py中添加
# STATICFILES_DIRS,以后就会在这个列表的路径中查找静态文件。
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static'),
]
# 3.加载静态文件
# { % load static %}
# <img src="{% static 'images/logo.jpg' %}" alt="my logo">
# 你的工程可能包含未与任何应用绑定的静态资源。除了在apps中使用static/目录,你可以在配置文件中
# 定义一个目录列表(STATICFILES_DIRS) ,Django会从中寻找静态文件。例子:
# STATICFILES_DIRS = [
# BASE_DIR / "static",
# '/var/www/static/',
# ]
# https://docs.djangoproject.com/zh-hans/4.1/ref/templates/builtins/#static
{% load static %}
<img src="{% static 'images/hi.jpg' %}" alt="Hi!">
{% load static %}
<link rel="stylesheet" href="{% static user_stylesheet %}" media="screen">
{% load static %}
{% static "images/hi.jpg" as myphoto %}
<img src="{{ myphoto }}">