# project/settings.py STATIC_URL = 'static/' STATIC_ROOT = os.path.join(BASE_DIR, 'static') STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'project/static') ] # project/urls.py from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # ... the rest of your URLconf goes here ... ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) # example.html {% load static %} <img src="{% static 'my_app/example.jpg' %}" alt="My image"> # your image is in "project/project/static/my_app/example.jpg" # then run these commands in terminal $ python manage.py collectstatic $ python manage.py runserverd # if you are Mac or Linux replace python with python3 # and then voila, it's done successfully{% load static %} <img src="{% static "my_app/example.jpg" %}" alt="My image"> #In your templates, use the static template tag to build the URL for the given relative path using the configured STATICFILES_STORAGE. {% load static %} <img src="{% static 'my_app/example.jpg' %}" alt="My image">STATICFILES_DIRS = [ BASE_DIR / "static", ]STATIC_URL is the URL location of static files located in STATIC_ROOT STATICFILES_DIRS tells Django where to look for static files in a Django project, such as a top-level static folder STATIC_ROOT is the folder location of static files when collectstatic is run STATICFILES_STORAGE is the file storage engine used when collecting static files with the collectstatic command.