Websites generally need to serve additional files such as images, JavaScript, or CSS. In Django, we refer to these files as “static files”. Django provides django.contrib.staticfiles to help you manage them.
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.