Я обычно делаю так, все локальные настройки (бд, пути к шаблонам и пр.) в отдельный файл настроек и импортирую в основной, закидываю все в репу кроме локальных настроек и ассетов, клонирую проект на сервер, настраиваю сервак (прим nginx+uwsgi+django) далее поднимается локальное окружение virtualenv например или можете все ставить глобально, но не советую. Ставим все пакеты нужные прописываем свой локальный конфиг для сервера, если все настроено хорошо, то все заработает. Для удобства можно сгенерировать public key сервера и закинуть в ключи развертывания в репозитории, на машине разработчика поставить fabric, написать скрипт развертывания и вуаля, у вас уже автоматизированный деплой обновлений на сервер, есть еще контейнеры, но их не юзал.