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.