A estas alturas ya sabes para qué sirve Django. Si ha utilizado el marco de forma extensiva, es posible que haya notado que el mayor problema es que un nuevo proyecto creado en una versión de Django puede no ser compatible con otra. Por ejemplo, si el proyecto se creó en Django 1.5xy está actualizando a Django 1.6x, es posible que su proyecto se niegue a ejecutarse.

Una solución simple a este problema es quedarse con una versión de Django para todos sus proyectos. A continuación, puede utilizar virtualenv para crear un entorno virtual con sus propios directorios de instalación. Virtualenv le permite instalar una versión personalizada de Python con sus paquetes.

En este tutorial, veremos cómo instalar Django creando un entorno virtual (también conocido como virtualenv) y configurando un nuevo proyecto.

Virtualenv:

Antes de instalar Django, se recomienda que instale Virtualenv, que crea nuevos entornos aislados para aislar sus archivos de Python proyecto por proyecto. Esto asegura que los cambios en su sitio web no afectarán a otros sitios web que desarrolle. Lo interesante es que puede crear entornos virtuales utilizando diferentes versiones de Python, y cada entorno tiene sus propios paquetes..

En este artículo usaremos Python versión 3 para instalar Virtualenv.

Paso 1: crear un nuevo entorno virtual

Dependiendo de la versión de Python que desee utilizar, comience creando un entorno virtual. En este caso instalamos virtualenv con Python 3.

Virtualenv es la forma más recomendada de configurar un entorno Python.

Para ejecutar estos comandos, asegúrese de haber iniciado sesión en su servidor principal con su usuario de shell a través de SSH.

Utilice pip3 para instalar Virtualenv.

Estas instrucciones asumen que tiene una versión personalizada de Python 3 instalada en su computadora. Después de la instalación, ejecute pip3 para iniciar la instalación de virtualenv de la siguiente manera:

[server]$ pip3 install virtualenv
Collecting virtualenv
  Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB)
  100% |████████████████████████████████| 1.8MB 367kB/s
Installing collected packages: virtualenv
Successfully installed virtualenv-15.1.0

Necesita acceso completo a la versión Python 3 de virtualenv, así que ejecute el siguiente comando para verlo:

[server]$ which virtualenv
/home/username/opt/python-3.6.2/bin/virtualenv

Cree un nuevo entorno aislado con una versión personalizada de Python

Al trabajar con el entorno virtual de Python, se recomienda utilizar la versión personalizada de Python en lugar de la versión del servidor. Siga los pasos a continuación para crear un nuevo entorno virtual con la versión personalizada instalada de Python.

Asegúrese de tener instalado el archivo completo de la versión personalizada de Python. Deberías tener algo como esto:

[server]$ which python3
/home/username/opt/python-3.6.2/bin/python

Vaya al directorio del sitio y cree un entorno virtual como se muestra a continuación:

[server]$ cd ~/example.com

Después de crear su entorno virtual, no olvide especificar la versión de Python que desea utilizar. En este caso, el siguiente comando ayuda a crear “mi proyecto” en la primera ruta con el indicador –p para identificar la ruta completa a la versión instalada de Python 3:

[server]$ virtualenv ~/example.com/my_project -p /home/example_username/opt/python-3.6.2/bin/python3
 
Running virtualenv with interpreter /home/example_username/opt/python-3.6.2/bin/python3
Using base prefix '/home/example_username/opt/python-3.6.2'
New python executable in /home/example_username/example.com/env/bin/python3
Also creating executable in /home/example_username/example.com/env/bin/python
Installing setuptools, pip, wheel...done.

Mientras trabaja con este comando, asegúrese de que el entorno local esté activo para asegurarse de tener las versiones correctas de paquetes y herramientas.

Active su entorno virtual ingresando:

[server]$ source my_project/bin/activate

El nombre de su entorno virtual debería aparecer al principio del símbolo del sistema así::

(my_project) [server]$

Ejecute el siguiente comando para confirmar que tiene la versión correcta de Python:

[server]$ python -V
Python 3.6.2

Todos los paquetes instalados con pip están ahora en su directorio de entorno virtual.

Cuando haya terminado de trabajar con su entorno virtual, continúe y desactívelo escribiendo:

[server]$ deactivate

Esto debería restablecer su usuario de shell a la configuración predeterminada.

Ejecute el siguiente comando para borrar su entorno virtual:

[server]$ rm -rf /home/username/example.com/my_project

Paso 2: Instale Django en Virtualenv

La herramienta pip facilita la ejecución de Django en Virtualenv. Es una herramienta sencilla para instalar sus paquetes. En algunos sistemas, se recomienda tener instalado python-dev para ejecutar virtualenv con éxito. También es importante actualizar pip a la última versión antes de instalar virtualenv.

En la mayoría de los sistemas, puede instalar fácilmente los dos escribiendo los siguientes comandos:

sudo apt-get install python-pip python-dev
sudo pip install -upgrade pip

Si está usando la versión de Python 3 para instalar Django, use el siguiente comando:

(my_project) [server]$ pip3 install Django
(my_project) [server]$ pip3 install mysqlclient

En otros sistemas, siga las instrucciones oficiales de pip para comenzar la instalación. Esta publicación asume que su proyecto virtual tiene un archivo Requirements.txt. Este archivo se encuentra en el repositorio de Python y contiene todos los paquetes con las versiones apropiadas requeridas para que el proyecto se ejecute e instale correctamente.

PIL
python-dateutil==1.5
django-guardian==1.1.0.beta
south
djangorestframework
markdown
django-filter
pyyaml
defusedxml
django-oauth-plus
django-oauth2-provider

Genere los requisitos de sus proyectos ejecutando el comando “pip Freeze” para listar todos los paquetes instalados en su computadora con todas las versiones disponibles.

pip freeze > requirements.txt

A veces, este proceso puede generar paquetes no deseados en el archivo de solicitud instalado en su computadora. Así que asegúrese de editar este archivo manualmente.

Cree su entorno virtual ingresando este comando:

virtualenv <environment_name>

Tenga en cuenta que este comando puede crear dos directorios diferentes de la siguiente manera:

<environment_name>/lib/pythonX.X/site-packages

(Los archivos de Python instalados se muestran aquí)

<environment_name>/bin/python/

(Las bibliotecas de intérpretes de Python para su entorno virtual se pueden encontrar aquí)

Puede usar el comando anterior para agregar la opción –no-site-packages o –system-site-packages para indicar si desea o no recibir todos estos paquetes instalados.

Ingrese lo siguiente para activar el entorno virtual:

source ./<environment_name>/bin/activate

En su símbolo del sistema, debería ver algo como esto:

(<environment_name>) $

Esto muestra que está ejecutando la instalación virtualenv correcta.

Mueva los detalles de su proyecto al directorio virtualenv ejecutando el siguiente comando:

pip install requirements.txt

A estas alturas ya debería tener Django completamente instalado en Virtualenv.

Paso 3: creando un nuevo proyecto de Django en Virtualenv

Ahora que ha creado un entorno virtual, está listo para continuar con la creación de un proyecto de Django.

Primero, ejecute el siguiente comando para construir su proyecto en Django:

[server]$ cd $HOME/example.com
[server]$ source $HOME/example.com/my_project/bin/activate
(my_project) [server]$ python my_project/bin/django-admin.py startproject <projectname>
  • Reemplace el nombre con una descripción de su elección.

Para facilitar que un pasajero identifique su proyecto, cree un archivo _wsgi. py en el directorio de su sitio web. Deberías tener algo como esto:

import sys, os
INTERP = "/home/<username>/local/bin/python"
#INTERP is present twice so that the new python interpreter
#knows the actual executable path
if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv)
 
cwd = os.getcwd()
sys.path.append(cwd)
sys.path.append(cwd + '/djangoprojectname')  #You must add your project here
 
sys.path.insert(0,cwd+'/my_project/bin')
sys.path.insert(0,cwd+'/my_project/lib/python2.7/site-packages')
 
os.environ['DJANGO_SETTINGS_MODULE'] = "djangoprojectname.settings"
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

Comience configurando archivos estáticos en Django para que sirvan correctamente CSS, imágenes y Javascript, ya que los necesitará para que funcione la interfaz de administración.

  • Vaya al archivo .py del proyecto, ubicado en la siguiente ubicación:
example.com/projectname/settings.py

Luego, desplácese hacia abajo hasta donde pueda encontrar Static_URL, debe configurarse en / static /.

Agregue otra línea para establecer la ubicación del directorio estático de la siguiente manera:

STATIC_ROOT = os.path.dirname(BASE_DIR) + '/static/'

En su directorio público, asegúrese de crear el siguiente directorio / static donde Django almacenará todos sus archivos estáticos:

(my_project) [server]$ cd $HOME/example.com/public
(my_project) [server]$ mkdir static

Ejecute el comando collectstatic para preparar los archivos estáticos para la interfaz de administración.

(my_project) [server]$ cd $HOME/example.com/projectname/
(my_project) [server]$ python manage.py collectstatic

Configure su base de datos en el archivo setting.py de la siguiente manera:

DATABASES = {
  'default': {
    	'ENGINE': 'django.db.backends.sqlite3',
    	'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
  }
}

Edite la información para que coincida con sus credenciales reales.

DATABASES = {
  'default': {
    	'ENGINE': 'django.db.backends.mysql',
    	'NAME': 'mydatabase',
    	'USER': 'mydatabaseuser',
    	'PASSWORD': 'mypassword',
    	'HOST': 'mysql.example.com',
    	'PORT': '3306',
  }
}

En el archivo settings.py, actualice el campo etiquetado ALLOWED-HOSTS con su nombre de la siguiente manera:

ALLOWED_HOSTS = ['example.com' , 'www.example.com']

Asegúrese de que la información esté en el directorio de su proyecto Django:

(my_project) [server]$ cd ~/example.com/<projectname>

Una vez que la configuración esté completa, ejecute migrate en su directorio:

(my_project) [server]$ python manage.py migrate
Operations to perform:
 Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
 Applying contenttypes.0001_initial... OK
 Applying auth.0001_initial... OK
 Applying admin.0001_initial... OK
 Applying admin.0002_logentry_remove_auto_add... OK
 Applying contenttypes.0002_remove_content_type_name... OK

Luego crea tu superusuario:

(my_project) [server]$ python manage.py createsuperuser
Username (leave blank to use 'username'): my_django_user
Email address: email@example.com
Password:
Password (again):
Superuser created successfully.

Vaya al directorio y agregue el siguiente texto; Archivo /tmp/restart.txt:

(my_project) [server]$ cd /home/username/example.com
(my_project) [server]$ mkdir tmp
(my_project) [server]$ cd tmp
(my_project) [server]$ touch restart.txt

Después de realizar estos cambios, asegúrese de ejecutar este comando desde el directorio de su proyecto:

(my_project) [server]$ touch tmp/restart.txt

Confirme que el proyecto Django se haya instalado correctamente en su sitio:

Ahora debería poder acceder a la página de administración de Django.

Conclusión

Si sigue estos pasos correctamente, instala las versiones correctas de Pythons y todo lo demás, debería haber instalado Django correctamente. Esperamos que esta guía sea de utilidad.