bookmark_borderManejar un proyecto de django con pipenv

Aqui vamos a crear como manejar un proyecto de django con los comandos de pipenv y con django-admin. No vamos a ver la instalación de pipenv, pero si vamos a ver la instalación de django en un entorno virtual. Asegurate de tener la versión de pipenv instalada y corriendo. Lo puedes ver en esta entrada Comando de pipenv.

Instala django y sus dependencia utilizando pipenv. Te sugiero que estes en un directorio vacío, ya que recuerda que el entorno virtual que se genera con pipenv, esta directamente asociado al directorio donde lo ejecutas.

$ pipenv install django-admin django django-ckeditor Pillow pylint pylint-django pylint-celery

donde:

  • django. Es el motor de django.
  • django-admin. Es el paquete que instala la consola de administración de django.
  • django-ckeditor. Es el paquete que permite colocar un editor de texto enriquecido para django.
  • Pillow. Es un paquete para el manejo de las imagenes en django.
  • pylint. Es la libreria que permite validar el codigo que vas realizando el python
  • pylint-django.
  • pylint-celery.

Con esto ya vamos a poder acceder a los paquetes que se instalaron, y por lo tanto, podemos utilizar la linea el django-admin de la siguiente forma para crear un proyecto.

$ pipenv django-admin startproject luidasa

Con eso se crea el proyecto, y debes de moverte a la carpeta luidasa, para ejecutar el proyecto, el cual se puede ejecutar activando el entorno virtual y por ultimo ejecutando el proyecto, con los siguientes comandos.

$ pipenv python manage.py runserver

Otras formas de iniciar el proyecto. Si ya activaste el entorno virtual

$ python manage.py runserver

Modificando el archivo Pipfile del entorno virtual, debes de agregar en la sección de scripts

[scripts]
luidasa="python luidasa/manage.py runserver"

Y con eso vas a poder ejecutarlo desde la terminal con

$ pipenv run luidasa

Configuración básica del proyecto

Para configurar el proyecto ingresa edita el archivo settings.py, y cambia los siguientes valores.

El idioma por defecto y la zona horaria que se va a utilizar.

# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/

LANGUAGE_CODE = 'es-MX'

TIME_ZONE = 'America/Mexico_City'

La base de datos que se va a utilizar


# Database
# https://docs.djangoproject.com/en/3.2/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

Para algunos de los modulos que se encuentran precargados debes de crear la base de datos y hacer las migraciones correspondientes. En la ventana de comando y con el enviroment virtual activado ejecuta:

$ python manage.py migrate

bookmark_borderComandos de pipenv.

He aqui algunos de los comandos de pipenv que nos van a servir para la creación de entornos virtuales de python ligados a un directorio del proyecto y no de forma global como lo realiza virtualenv.

Requisitos

Asegurate que python sea accesible desde cualquier lugar.

$ python --version

Instala el pipenv con el gestor de paquetes pip

$ pip install pipenv

Verifica que se haya instalado correctamente con la siguiente sentencia.

pipenv --help

Entornos virtuales

Para crear un entorno virtual vacío.

$ pipenv --python 3.9

Verifica la ruta donde se encuentra el entorno virtual de python, si no se encuentra es porque no estan en la carpeta donde creaste el entorno virtual.

$ pipenv --venv

Verifica donde esta el interprete de python del entorno virtual

$ pipenv --py

Para activar el entorno virtual o crear uno nuevo ocupa

$ pipenv run python

Ver los paquetes que estan instalados en el entorno virtual, con la opción graph. Lo puedes probar instalando el paquete numpy, verificando y despues volviendo a desinstalar.

$ pipenv graph
$ pipenv install numpy
$ pipenv graph

Tambien podemos verificar los paquetes que se encuentran instalados con pip

$ pipenv run pip list

Para activar el shell del ambiente virtual puedes ejecutar, y con eso siempre estaras ocupando todas las carateristicas del ambiente virtual que estas ejecutando.

$ pipenv shell

Para remover un paquete utilizando pipenv

$ pipenv uninstall numpy

Para remover un paquete utilizando el gestor de paquetes pip instalado en el entorno virtual.

$ pipenv run pip uninstall numpy

Por ultimo, para remover un entorno virtual creado con pipenv

$ pipenv --rm