Django 静态文件路径设置
文档内容
Configuring static files
- Make sure that django.contrib.staticfiles is included in your INSTALLED_APPS.
- In your settings file, define STATIC_URL, for example:
STATIC_URL = '/static/'
- In your templates, either hardcode the url like /static/my_app/myexample.jpg or, preferably, use the static template tag to build the URL for the given relative path by using the configured STATICFILES_STORAGE storage (this makes it much easier when you want to switch to a content delivery network (CDN) for serving static files).
{% load staticfiles %}
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/>
- Store your static files in a folder called static in your app. For example my_app/static/my_app/myimage.jpg.
Your project will probably also have static assets that aren’t tied to a particular app. In addition to using a static/ directory inside your apps, you can define a list of directories (STATICFILES_DIRS) in your settings file where Django will also look for static files. For example:
STATICFILES_DIRS = (
os.path.join(BASE_DIR, "static"),
'/var/www/static/',
)
STATICFILES_FINDERS默认设置为
("django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder")
前者会从STATICFILES_DIRS 中查找名称匹配的静态文件,后者从每个app的static子目录下查找静态文件,当有多个静态文件匹配时,使用第一个发现的文件。
注意:只有将app加入INSTALLED_APPS中,static子目录才会被找到