Я думаю, что ваш подход может слишком усложнить то, что Django 1.x предоставляет для вас. Пока ваш проект находится в пути Python, вы можете установить переменную окружения DJANGO_SETTINGS_MODULE в верхней части вашего скрипта следующим образом:
import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'myproject.settings'
В вашем скрипте командной строки, где вам нужно прочитать ваши настройки, просто импортируйте модуль настроек из 'django.conf', как вы делали бы это в коде вашего приложения:
from django.conf import settings
И, наконец, у вас есть настройки и среда с поддержкой Django для вашего скрипта.
Лично я предпочитаю устанавливать свой DJANGO_SETTINGS_MODULE, используя '/ usr / bin / env' в скрипте bash, называемом 'proj_env', поэтому мне не нужно его повторять
#!/bin/bash
proj_env="DJANGO_SETTINGS_MODULE=myproject.settings"
/usr/bin/env $proj_env ${*}
Теперь я могу запустить любой скрипт на Python с моим приложением Django в контексте:
proj_env python -m 'myproject.bin.myscript'
Если вы используете virtualenv, это также даст вам хорошее место для поиска сценария активации.
и т.д.. и т.д.