Skip to main content

Differences between STATICFILES_DIR, STATIC_ROOT and MEDIA_ROOT

# Differences between STATICFILES_DIR, STATIC_ROOT and MEDIA_ROOT

To understand the difference, it is necessary to figure out what these three constants are for.

In this article, You will learn about STATICFILES_DIR, STATIC_ROOT and MEDIA_ROOT.

1.) STATICFILES_DIRS :

Need to be used in the development mode. Static files are usually placed in two places:

  • The static directory under each app.

  • The static directory under the project root directory (because some static files are not unique to an app).

  • # BASE_DIR is the absolute address of the project

  • STATIC_ROOT = os.path.join(BASE_DIR, 'xxxxxx')

STATICFILES_DIRS tells django to first look for static files in STATICFILES_DIRS, and then go to the static folder of each app.

Note : django finds static files as lazy lookups. When you find the first one, it stops looking up.

2.) STATIC_ROOT :

  • # BASE_DIR is the absolute address of the project

  • STATIC_ROOT = os.path.join(BASE_DIR, 'xxxxxx')

This constant is not used in development mode and will be used during deployment.

Python manage.py collectstatic when deploying, django will copy the static files of all apps to the STATIC_ROOT folder.

3.) STATIC_URL :

Django uses STATIC_URL to give browsers direct access to static files

  • STATIC_URL = '/static/'

So if your project root / static / there is a 123.png image.

Then you can go directly through the browserhttp://IP: port number / static / 123.png to access your picture

Comments

Popular Posts

How to remove the date and .html from every blogger post url

#Remove date and .html from blogger post url A Common search term which every blogger search is How to Remove Date From Blogger Post URL or how do I remove date from blogger permalink? Follow the steps below and then date and .html will be removed from the URL of your blogger post. Step 1 : Login to your Blogger blog and select Theme / Template. Step 2 : Click on Edit HTML and paste the below code just above the </head> tag let's see code :   ➤ Code : mycode.js; Copy code <script type='text/javascript' > //<![CDATA[ // BloggerJS v0.3.1 var urlTotal,nextPageToken,postsDatePrefix=!1,accessOnly=!1,useApiV3=!1,apiKey="",blogId="",postsOrPages=["pages","posts"],jsonIndex=1,secondRequest=!0,feedPriority=0,amp="&"[0];function urlVal(){var e=window.location.pathname,t=e.length;return...

Django static files not working when debug false || debug true

# Django static and media files not working when debug is false In this article you will learn how to fix problem of not loading static files and media in Django even the DEBUG is FALSE. This is the easiest and safest solution. # Problem: Django static and media files not working when debug is false  ➤ Code: settings.py DEBUG = False #True ALLOWED_HOSTS = [ '*' ] #Host name # Problem Fix: Let's see, How you can fix the problem of Django static and media files not working when DEBUB = False : 1.)First way: devserver in insecure mode If you still need to server static locally ( e.g. for testing without debug ) you can run devserver in insecure mode: python manage.py runserver --insecure --insecure: it means you can run serve...

How to connect MongoDB with Django

In this article, you will learn how to connect to a MongoDB database to a Python web application framework Django. You will also learn how to edit your Django Project Settings file and connect your web application to a mongodb (NoSQL or document) Database. Django is a flexible framework for quickly creating Python applications. By default, Django applications are configured to store data into a lightweight SQLite database file. Connecting your Django App to a MongoDB database # Introduction: Django is used in such an amazing modular style, It’s simple to replace different components of a Django-based web application. Because document(NoSQL) databases are more common these days, you might want to try running an application with a different back end rather than one of the standard relational databases such as MySQL, SQLite, PostgreSQL or etc. 3 Ways To Connect Django With MongoDB: Djongo. MongoEngine. PyMongo. 1.) Djongo Dongo is an...