At this point I'm able to use ./manage.py to interact with the database.
Having Django DB layer available as a module from our scripts remains to
be done.
+++ /dev/null
-import os
-import sys
-from .settings import *
-from .models import *
-
-import django
-django.setup()
+++ /dev/null
-#!/usr/bin/env python3
-import os
-import sys
-
-if __name__ == "__main__":
-
- # Django searches for module 'database' this adds suitable search path
- database_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__)))
- if not database_path in sys.path:
- sys.path.insert(0, database_path)
-
- import database.settings
-
- from django.core.management import execute_from_command_line
-
- execute_from_command_line(sys.argv)
+++ /dev/null
-import os
-
-BASE_DIR = os.path.dirname(os.path.abspath(__file__))
-
-from django.conf import settings
-if not settings.configured:
- settings.configure(
- INSTALLED_APPS = ['database'],
- DATABASES = {
- 'default': {
- 'ENGINE': 'django.db.backends.postgresql_psycopg2',
- 'HOST': '',
- 'NAME': 'linux-conf-perf',
- }
- },
- MIDDLEWARE_CLASSES = (
- )
- )
--- /dev/null
+import os
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = '34xej!+ag9*nzkoi1$!&0c6of-9%wu5kl8f-6qj4!ld1b@av+1'
+
+# Application definition
+
+INSTALLED_APPS = ['database'] # We want this directory to be a django app
+
+MIDDLEWARE_CLASSES = ()
+
+# Database
+# https://docs.djangoproject.com/en/1.9/ref/settings/#databases
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.postgresql_psycopg2',
+ 'HOST': '',
+ 'NAME': 'linux-conf-perf',
+ #'ENGINE': 'django.db.backends.sqlite3',
+ #'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
+ }
+}
--- /dev/null
+#!/usr/bin/env python3
+import os
+import sys
+
+if __name__ == "__main__":
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "database.settings")
+
+ from django.core.management import execute_from_command_line
+
+ execute_from_command_line(sys.argv)