Внешние скрипты и Django

Когда в следующий раз понадобится запускать какой-то внешний скрипт для облегчения пакетного менеджмента сайтов, пригодится этот пример:

import os
import sys

# укажем путь к нашему django-сайту
sys.path.append('/var/www/mydjango')

# укажем какие настройки следует использовать
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

# импортируем модели
from myapp import models

# используем

Альтернативный вариант, который не предполагает никаких дополнительных изменений в самом скрипте. Просто запустим наш скрипт, установив нужное окружение:

PYTHONPATH=/var/www/mydjango DJANGO_SETTINGS_MODULE=settings python my-script.py