django static files usage
setttings.py file. Django provides app "
django.contrib.staticfiles" to help us manage it.
- Add "django.contrib.staticfiles" to "
INSTALLED_APPS = [ # ... 'django.contrib.staticfiles', # ... ]
- Add "
STATIC_URL = '/static/'
- Add "
STATICFILES_FINDERS" to make sure template tag "
static" can work in HTML templates.
# ... INSTALLED_APPS = [ 'django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', ] # ...
- Add extra static directories using "
STATICFILES_DIRS". In below example we added a directory "
static" to static files finder which is located at the root level of our project.
# ... STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ] # ...
- Add static root to root project urls.py to make available static files during development like below
from django.conf import settings from django.conf.urls.static import static urlpatterns = [ # ... the rest of your URLconf goes here ... ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
- Serving files uploaded by a user during development
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)
That's it folks, let's meet in the next article. Check the below referece for more detail.