En esta página:
Demo
En otros Post teníamos un tutorial llamado Como crear un CRUD con Django 2 y Bootstrap 4 – Parte 1 (Python 3.7), pero este era con una versión anterior de Django Framework, los tiempos cambian y actualmente hay una nueva versión de Django Framework, específicamente la versión 3 y en este tutorial aprenderemos a crear un sistema CRUD con esta versión actual de Django Framework y usaremos para las vistas Bootstrap 4.6, vamos con este tutorial.
Partes
Antes de continuar te invito a leer los siguientes artículos:
-
- Que es Django, Historia y tu primer Hola Mundo (Corregido: 31-05-2019)
- Conceptos Iniciales para desplegar Django
- Como usar Django y React JS (Método Manual, no Librería)
- Como crear un CRUD con Django 2 y Bootstrap 4 – Parte 1 (Python 3.7)
- 5 Servicios de Hosting VPS ideales para publicar un Proyecto Creado con Django
- Como Integrar Firebase en Django 3.0.7 – Parte 1
- 7 Proyectos que han sido Creados con Django Framework
- Como Crear una API REST con Django 3.1.1 + Consumir Datos en una Aplicación Android – Parte 1
- Puedes leer más en la categoría Django
Asimismo te invito a escuchar el Podcast: “Herramientas Online Para El Trabajo En Equipo”:
Spotify: | Sound Cloud: | Apple Podcasts |
Bien ahora continuemos con el Post: 10 Herramientas para el Desarrollo de Blockchain – Parte 2 (Final).
Para hacer este tutorial que se podría definir como un tutorial avanzado, necesitas tener instalado y configurado correctamente Python y Django Framework en tu computadora, si es así entonces puedes continuar con este tutorial.
NOTA: En todo proyecto es importante primero crear un entorno virtual para que tanto la versión de Python, Django y demás librerías se queden aisladas, ya que por ejempo, si instalas una nueva versión de Python o Django e intentas correr este proyecto que vamos a crear, pues no va funcionar por la imcompatibilidad de versiones. Y si tenemos nuestro proyecto, siempre en un entorno virtual, pues lograremos que funcione con la misma versión de Python, Django y demás librerías con que fue creado el proyecto.
Entonces antes de crear este proyecto, primero pasemos a crear nuestro entorno virtual.
Entorno Virtual
Primero debo de crear un directorio para mi proyecto, asi mantenemos el orden. Crearé un directorio con el nombre cruddjango31, en donde colocaré todos los archivos de mi proyecto.
1 2 3 4 5 6 7 8 |
// Directorio con el nombre "cruddjango31" /cruddjango31 ... Acá irán todos los archivos del proyecto ... ... |
Existen diferentes paquetes que nos permiten crear un entorno virtual rápidamente, yo suelo usar el paquete virtualenv. Para instalarlo voy a mi consola de comandos y ejecuto el siguiente comando:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
pip install virtualenv Collecting virtualenv Using cached virtualenv-20.10.0-py2.py3-none-any.whl (5.6 MB) Collecting filelock<4,>=3.2 Using cached filelock-3.3.2-py3-none-any.whl (9.7 kB) Collecting six<2,>=1.9.0 Using cached six-1.16.0-py2.py3-none-any.whl (11 kB) Collecting platformdirs<3,>=2 Using cached platformdirs-2.4.0-py3-none-any.whl (14 kB) Collecting backports.entry-points-selectable>=1.0.4 Using cached backports.entry_points_selectable-1.1.1-py2.py3-none-any.whl (6.2 kB) Collecting distlib<1,>=0.3.1 Using cached distlib-0.3.3-py2.py3-none-any.whl (496 kB) Installing collected packages: filelock, six, platformdirs, backports.entry-points-selectable, distlib, virtualenv Successfully installed backports.entry-points-selectable-1.1.1 distlib-0.3.3 filelock-3.3.2 platformdirs-2.4.0 six-1.16.0 virtualenv-20.10.0 |
Luego de instalar el paquete, voy a crear mi entorno virtual, yo le pondré de nombre mientornovirtual, tu le puedes poner el nombre que desees. Ejecuto el siguiente comando para crear mi entorno virtual.
1 2 3 4 |
# Comando para crear un entorno virtual con el paquete 'virtualenv' python -m venv mientornovirtual |
Tras ejecutar el comando anterior, se me ha creado un directorio llamado mientornovirtual.
1 2 3 4 5 6 |
// Directorio con el nombre "cruddjango31" /cruddjango31 ├── /mientornovirtual // Se creó este directorio |
Y por último debemos activar nuestro entorno virtual ejecutando el siguiente comando:
1 2 3 4 5 |
# Comando para activar el entorno virtual source mientornovirtual/Scripts/activate (mientornovirtual) |
Cuando el entorno virtual se activa, aparece entre parentesis el nombre del entorno virtual, es decir: (mientornovirtual).
NOTA: Recuerda siempre activar tu entorno virtual, antes de continuar trabajando en un proyecto con Django.
Ahora si, continuemos con la creación de nuestro proyecto.
Creación de Nuevo Proyecto
Primero debemos instalar Django para que se aisle en nuestro entorno virtual, ejecutamos el siguiente comando para instalarlo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
pip install django Collecting django Downloading Django-4.0-py3-none-any.whl (8.0 MB) Collecting asgiref<4,>=3.4.1 Using cached asgiref-3.4.1-py3-none-any.whl (25 kB) Collecting sqlparse>=0.2.2 Using cached sqlparse-0.4.2-py3-none-any.whl (42 kB) Collecting tzdata; sys_platform == "win32" Downloading tzdata-2021.5-py2.py3-none-any.whl (339 kB) Installing collected packages: asgiref, sqlparse, tzdata, django Successfully installed asgiref-3.4.1 django-4.0 sqlparse-0.4.2 tzdata-2021.5 WARNING: You are using pip version 20.2.3; however, version 21.3.1 is available. You should consider upgrading via the 'e:\xampp\htdocs\xampp\nc\tutoriales\blog\cruddjango31\mientornovirtual\scripts\python.exe -m pip install --upgrade pip' command. (mientornovirtual) |
Vamos a crear un nuevo proyecto para el sistema CRUD, le pondré de nombre cruddjango31, ejecuto el siguiente comando en mi consola de comandos.
1 2 3 4 |
# Comando para crear un nuevo proyecto en Django 3.1 django-admin startproject cruddjango31 |
Luego de ejecutar el comando anterior, no pasa nada pero Django nos ha creado un directorio con el nombre del proyecto y en el contiene directorios y archivos necesarios para que nuestro proyecto funcione sin problemas.
1 2 3 4 5 6 7 8 9 10 |
/cruddjango31 ├── /cruddjango31 ├── __init__.py ├── asgy.py ├── settings.py ├── urls.py ├── wsgi.py ├── manage.py |
Bueno para verificar que el proyecto se ha creado correctamente, ingresamos al directorio del proyecto y allí arrancaremos el servidor local de Django Framework ejecutando el siguiente comando.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
# Ingresamos al directorio del proyecto cd cruddjango31 # Corremos el servidor local de Django python manage.py runserver Watching for file changes with StatReloader [03/Mar/2021 16:52:34] "GET / HTTP/1.1" 200 16351 [03/Mar/2021 16:52:34] "GET /static/admin/css/fonts.css HTTP/1.1" 200 423 [03/Mar/2021 16:52:35] "GET /static/admin/fonts/Roboto-Bold-webfont.woff HTTP/1.1" 200 86184 [03/Mar/2021 16:52:35] "GET /static/admin/fonts/Roboto-Regular-webfont.woff HTTP/1.1" 200 85876 [03/Mar/2021 16:52:35] "GET /static/admin/fonts/Roboto-Light-webfont.woff HTTP/1.1" 200 85692 Not Found: /favicon.ico [03/Mar/2021 16:52:35] "GET /favicon.ico HTTP/1.1" 404 1978 |
Entonces si vamos al navegador y abrimos la ruta local http://localhost:8000/ puedo ver el proyecto por defecto que Django nos ha creado.
Bien parece que todo esta correcto, ahora en Django necesitamos crear un nuevo modulo o aplicación para nuestro sistema CRUD, yo trabajaré con datos de postres entonces a mi aplicación le pondré de nombre postres y lo crearé ejecutando el siguiente comando.
1 2 3 4 |
# Comando para crear la aplicación 'postres' python manage.py startapp postres |
Luego de ejecutar el comando anterior, no ha pasado nada en la consola, pero si vamos al directorio del proyecto podemos ver que se nos ha creado un directorio llamado postres y en el podemos encontrar un directorio llamado migrations con varios archivos necesarios para que la aplicación funcione correctamente.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/cruddjango31 ├── /cruddjango31 ├── __init__.py ├── asgy.py ├── settings.py ├── urls.py ├── wsgi.py ├── /mientornovirtual ├── /postres // Se ha creado este directorio 'postres' ├── /migrations ├── __init__.py ├── admin.py ├── apps.py ├── models.py ├── tests.py ├── views.py ├── db.sqlite3 ├── manage.py |
Y bien para que la aplicación funcione en Django debemos de registrarla en el archivo llamado settings.py, este archivo se encuentra en cruddjango31 > cruddjango31 > settings.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
/cruddjango31 ├── /cruddjango31 ├── __init__.py ├── asgy.py ├── settings.py // Abro este Archivo ├── urls.py ├── wsgi.py ├── /mientornovirtual ├── /postres ├── /migrations ├── __init__.py ├── admin.py ├── apps.py ├── models.py ├── tests.py ├── views.py ├── db.sqlite3 ├── manage.py |
Abro el archivo settings.py y voy a la sección que dice INSTALLED_APPS y registro la app postres.
1 2 3 4 5 6 7 8 9 10 11 12 |
# Registro la app 'postres' en el archivo settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'postres', # Registramos la app 'postres' ] |
Y bueno hasta aquí llegamos con esta primera parte del tutorial en donde se ha creado un nuevo proyecto en Django Framework para el sistema CRUD, asimismo hemos creado la aplicación postres.
Ten Paciencia, lo que quiero es que conozcas bien como se crea este proyecto y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje.
Nota (s)
- En la siguiente parte vamos a configurar la base de datos MySQL y crearemos las migraciones para la tabla postres.
- Los pasos mencionados en este tutorial pueden cambiar en un futuro, esto no depende de nosotros si no de las empresas que dan soporte a Django y Python que suelen cambiar el orden y las opciones de sus tecnologías.
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.