Ok so I recall there are some commands you could put in the settings.py
file so that basically when you move your django project to another directory it won\'t
Django 1.8 already includes the project root directory as BASE_DIR
:
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
And you can use it in your app by importing settings
:
from django.conf import settings
...
...
print(settings.BASE_DIR)
PROJECT_PATH = os.path.abspath(os.path.dirname(__name__))
Grab the __file__
global, and use the various functions in os.path
on it.
import os.path
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
The architecture of a project in Django
root/
Inside settings.py:
SITE_ROOT = os.path.dirname(os.path.realpath(__file__))
-> gives the path of the file settings.py: root/main/. This is NOT THE ROOT OF THE PROJECT
PROJECT_PATH = os.path.abspath(os.path.dirname(__name__))
-> gives the root of the project: root/. This is THE ROOT OF THE PROJECT.