Recomendaría revisar el proceso como se documentó en lincoln loop. Puede ir directamente a su repositorio github al django-startproject. Básicamente, el flujo de trabajo que crea django-startproject segrega el desarrollo, la prueba y la producción. Se ejecuta el servidor de dev con
manage.py runserver 0.0.0.0:8000 --settings=<Project>.conf.dev.settings
y ejecutar pruebas con
manage.py test --settings=<Project>.conf.test.settings
django-startproject instalará un archivo de requisitos para los PIP que le permitirá especificar e instalar la necesaria facilidad dependencias. Recomiendo utilizar virtualenv en combinación con django-startproject. Se puede encontrar un buen tutorial sobre el uso de virtualenv con Django here.
django-startproject también incluye un script barebones fabric.py que ayuda a la implementación en servidores remotos/en la nube.
Por supuesto, todo lo anterior estará bajo control de código fuente con svn/hg/git/lo que sea.
lo tanto, el proceso de implementación en el servidor escueto Ubuntu/Debian sería:
sudo apt-get install python-setuptools python-dev build-essential
sudo easy_install -U pip
sudo pip install -U virtualenv
mkdir -p <path>/python-environments
cd <path>/python-environments
# Create the virtual env
virtualenv --no-site-packages --distribute <my project dir>
cd <my project dir>
git clone https://github.com/<my project>.git
cd <my project>
# Install dependencies
pip install -r requirements.pip
# Run tests, setup apache, etc.
A partir de entonces, se puede utilizar tela para implementar cambios en el servidor de producción.
¿Tiene servidores virtualizados disponibles o no? Las cosas son mucho más simples con la virtualización. –
"¿Hay mejores prácticas que pueda seguir?" Eso es tonto. Sí. Hay muchas mejores prácticas. ¿Quizás tienes algo más que te gustaría preguntar? –
Un "sí" obviamente no ayuda a nadie como respuesta en SO. Estoy seguro de que podría ayudar al consultante mediante enlaces proporcionados a estas prácticas si sabe que existen. –