Use Django ORM as standalone
Recently I had to write a tools which acts on data stored in a database managed by Django. As I didn't want to implement the whole logic around the database I opted to use the Django ORM in my external tool.
In an earlier version I used:
import os os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
to configure Django with my settings.py. But recently I found a better solution in the excellent Django Documentation.
They use:
from django.conf import settings settings.configure(DATABASE_ENGINE="mysql", DATABASE_HOST="localhost", DATABASE_NAME="my_database", DATABASE_USER="user", DATABASE_PASSWORD="password")
This is a much cleaner way where we don't need to mess with the systems environment variable.