1. python manage.py collectstatic做了什么
一句話,把靜態文件收集到 STATIC_ROOT 中。
setting.py文件:
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static/"),
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "static_collect/")
python manage.py collectstatic在執行時,django默認會去查看定義在STATICFILES_DIRS里的目錄,以及在INSTALLED_APPS里定義了的app的static目錄。如果這些目錄下有文件,則把文件全部收集起來,拷貝到STATIC_ROOT目錄下。
當使用django的runserver時,如果請求的是一個靜態文件,django也是會默認查看上述的ROOT、DIRS和static目錄。但是,在部署到服務器上時,此規則就不使用了。]
2. STATIC_URL的作用
在templates中,你可以通過模板標簽static和給定的相對路徑來構成一個URL,如下。
{% load static %}
<img href="{{ STATIC_URL }}/example.jpg" %}">