El día de hoy, vamos a crear otra aplicación web, recordemos en el post anterior de la primera que hay que crear primero el proyecto al cual llamaremos "Universidad_Inscripciones".
![](https://static.wixstatic.com/media/1de218_637ce1cbacde4e01ad16664210980f50~mv2.png/v1/fill/w_52,h_17,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_637ce1cbacde4e01ad16664210980f50~mv2.png)
Abriremos el proyecto en nuestro IDE
![](https://static.wixstatic.com/media/1de218_a4db672db4db450391ea6a7cd4e67f18~mv2.png/v1/fill/w_114,h_127,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_a4db672db4db450391ea6a7cd4e67f18~mv2.png)
Y nos crea nuestro marco de trabajo, el manage.py y los mismos archivos que anteriormente trabajamos en ellos.
![](https://static.wixstatic.com/media/1de218_62176269d6354915bab07715625d26be~mv2.png/v1/fill/w_88,h_53,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_62176269d6354915bab07715625d26be~mv2.png)
Ahora nuevamente en el cmd, vamos a crear una App para nuestra aplicación de la siguiente manera:
![](https://static.wixstatic.com/media/1de218_8e8bfad5d8f54e838f74b5cb056f65e4~mv2.png/v1/fill/w_55,h_5,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_8e8bfad5d8f54e838f74b5cb056f65e4~mv2.png)
Verificamos que se haya creado la aplicación con el comando dir o dir/w
![](https://static.wixstatic.com/media/1de218_fba90242a6244346bcddd6e993cd1ac2~mv2.png/v1/fill/w_83,h_42,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_fba90242a6244346bcddd6e993cd1ac2~mv2.png)
Ahora nuevamente en el IDE observamos que se ha creado la aplicación.
![](https://static.wixstatic.com/media/1de218_fffec139ec8b418a81cfc7f41210d0dc~mv2.png/v1/fill/w_88,h_92,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_fffec139ec8b418a81cfc7f41210d0dc~mv2.png)
Podemos correr el servidor con el comando
python3 manage.py runserver
Para que nos crea la dirección IP
![](https://static.wixstatic.com/media/1de218_d4b571ee16bd41a68ac0d42c0aa8427e~mv2.png/v1/fill/w_61,h_23,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_d4b571ee16bd41a68ac0d42c0aa8427e~mv2.png)
Copiamos esa dirección y la pondremos en nuestro navegador de preferencia
![](https://static.wixstatic.com/media/1de218_31b4bbde2e28414ca48955caf3f20de2~mv2.png/v1/fill/w_49,h_28,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_31b4bbde2e28414ca48955caf3f20de2~mv2.png)
Esta funcionando correctamente el servidor, para detener el servidor daremos Ctrl + C en el cmd
Vamos agregar las migraciones de la siguiente forma:
python3 manage.py migrate
![](https://static.wixstatic.com/media/1de218_5a59cce8b96f461495800619d75603bc~mv2.png/v1/fill/w_52,h_35,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_5a59cce8b96f461495800619d75603bc~mv2.png)
También con el otro comando que a mi parecer también es muy importante, ya que aveces el anterior no me migraba los datos con la primera aplicacion, y con este comando si:
python3 manage.py makemigrations
![](https://static.wixstatic.com/media/1de218_d28dce12312d450b8650732756f58f10~mv2.png/v1/fill/w_125,h_10,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_d28dce12312d450b8650732756f58f10~mv2.png)
Por el momento no detecto cambios porque no hemos realizado uno.
Ahora vamos a cargar la app en el modulo de settings, ya que si no lo agregamos no reconocerá la aplicación.
![](https://static.wixstatic.com/media/1de218_a7774aa35d3c48e4818eb41c40bcf055~mv2.png/v1/fill/w_58,h_51,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_a7774aa35d3c48e4818eb41c40bcf055~mv2.png)
También podremos manejar otro motor de base de datos, en el anterior usamos SQLite, por el momento dejaremos esa parte como esta.
![](https://static.wixstatic.com/media/1de218_d17186bb77ac486483d34ea57f116f5f~mv2.png/v1/fill/w_113,h_29,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_d17186bb77ac486483d34ea57f116f5f~mv2.png)
Y cambiamos el idioma a español:
LANGUAGE_CODE = 'es-es'
Ahora vamos a crear nuestro modelo de la siguiente manera:
Se crean 3 clases, en las cuales vamos a trabajar posteriormente y llenar sus datos, recuerda ver cada tipo de dato por si no sabes cual es su función.
Después vamos a administrar los modelos en el admin.py y se hará de la siguiente manera:
Hecho todo lo anterior vamos a migrar todo lo que llevamos hasta ahora con los comandos de migrate y makenmigrations hacia nuestra base de datos.
![](https://static.wixstatic.com/media/1de218_727a58de85d94baf97b0715a874c1954~mv2.png/v1/fill/w_87,h_12,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_727a58de85d94baf97b0715a874c1954~mv2.png)
![](https://static.wixstatic.com/media/1de218_e76f25d4e395494cab7af75d05b2f726~mv2.png/v1/fill/w_125,h_28,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_e76f25d4e395494cab7af75d05b2f726~mv2.png)
Después vamos a crear un superusuario de la siguiente forma:
![](https://static.wixstatic.com/media/1de218_d9aec3a21f9847a9bc6cf4ed68f70593~mv2.png/v1/fill/w_61,h_16,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_d9aec3a21f9847a9bc6cf4ed68f70593~mv2.png)
Ahora volvemos a correr el servidor
python3 manage.py runserver
E ingresamos a la direccion del ip en nuestro navegador pero agregamos /admin
http://127.0.0.1:8000/admin
Ahora ingresamos nuestro usuario y contraseña anteriormente creada:
![](https://static.wixstatic.com/media/1de218_6baa2a8a95774aa2bcf69d74351b2f64~mv2.png/v1/fill/w_57,h_48,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_6baa2a8a95774aa2bcf69d74351b2f64~mv2.png)
Y tenemos acceso a nuestro sistema o formulario donde podremos llenar los datos
![](https://static.wixstatic.com/media/1de218_bcc3348efe864dbc9f219fdebe3a0c10~mv2.png/v1/fill/w_49,h_15,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_bcc3348efe864dbc9f219fdebe3a0c10~mv2.png)
Vamos agregar datos en la tabla de Alumnos
**Nota: Si tienes problemas para ingresar, recuerda migrar los datos, ya que aparecera un error si no lo hacemos.
![](https://static.wixstatic.com/media/1de218_ba4a03a28d674bc7aa9a65ec8f9f4d1b~mv2.png/v1/fill/w_64,h_14,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_ba4a03a28d674bc7aa9a65ec8f9f4d1b~mv2.png)
Una vez dentro veremos la tabla, no tenemos ningún dato así que vamos a capturar uno. Daremos en añadir Alumno.
![](https://static.wixstatic.com/media/1de218_bd595a56b414440985ffe3befca3c9fd~mv2.png/v1/fill/w_49,h_5,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_bd595a56b414440985ffe3befca3c9fd~mv2.png)
Ahora podremos llenar los siguientes campos:
![](https://static.wixstatic.com/media/1de218_b743b3d5906049bea0621c0e8818b92c~mv2.png/v1/fill/w_49,h_19,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_b743b3d5906049bea0621c0e8818b92c~mv2.png)
![](https://static.wixstatic.com/media/1de218_eb39ff9889fb4ff9bbb8092ac942244f~mv2.png/v1/fill/w_49,h_18,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_eb39ff9889fb4ff9bbb8092ac942244f~mv2.png)
Daremos en grabar y veremos que se añadió el primer registro.
![](https://static.wixstatic.com/media/1de218_884761e3d95b433b85d0c96a170b62ec~mv2.png/v1/fill/w_49,h_9,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_884761e3d95b433b85d0c96a170b62ec~mv2.png)
Y hacemos lo mismo con las demás tablas
![](https://static.wixstatic.com/media/1de218_ca0346f7c32744dbbc9e1fe2e5ffef9c~mv2.png/v1/fill/w_49,h_11,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_ca0346f7c32744dbbc9e1fe2e5ffef9c~mv2.png)
Y de nueva cuenta nos crea un object, no queremos que aparezca eso, vamos a modificar eso
![](https://static.wixstatic.com/media/1de218_0a45e203a172478db4d3654ada7a8fd2~mv2.png/v1/fill/w_49,h_8,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_0a45e203a172478db4d3654ada7a8fd2~mv2.png)
Para eso vamos a quitar el comentario en model.py lo que puse en metodos debe quedar asi:
![](https://static.wixstatic.com/media/1de218_7c62f31d312249ac97c8033b83a4d7a5~mv2.png/v1/fill/w_70,h_12,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_7c62f31d312249ac97c8033b83a4d7a5~mv2.png)
![](https://static.wixstatic.com/media/1de218_630460a47d9047e6b0df913ffa2136e0~mv2.png/v1/fill/w_53,h_5,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_630460a47d9047e6b0df913ffa2136e0~mv2.png)
![](https://static.wixstatic.com/media/1de218_75aa4045ec694dfdb5198932bd4777b7~mv2.png/v1/fill/w_116,h_17,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_75aa4045ec694dfdb5198932bd4777b7~mv2.png)
Con estos métodos activos, serán de ayuda para que sean reconocidos los registros, vamos a migrar nuevamente toda la base de datos en el cmd.
Hecho la migración ahora si podremos ver que ya tiene un identificador, vamos agregar a la tabla de matricula los datos que anteriormente registramos.
![](https://static.wixstatic.com/media/1de218_2177697fb814406f850e3849ce655329~mv2.png/v1/fill/w_49,h_10,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_2177697fb814406f850e3849ce655329~mv2.png)
![](https://static.wixstatic.com/media/1de218_35ece40ee2284dd292599cfb5c97d1fe~mv2.png/v1/fill/w_49,h_10,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_35ece40ee2284dd292599cfb5c97d1fe~mv2.png)
Y ahora si en cada tabla aparece la forma de identificar mas facil, en vezz de objetos que se iran incrementando.
![](https://static.wixstatic.com/media/1de218_3dc57a417230481bb7048bec59921568~mv2.png/v1/fill/w_49,h_8,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_3dc57a417230481bb7048bec59921568~mv2.png)
![](https://static.wixstatic.com/media/1de218_a2467808b1e341fea2ba6cf8a47af05e~mv2.png/v1/fill/w_49,h_8,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_a2467808b1e341fea2ba6cf8a47af05e~mv2.png)
![](https://static.wixstatic.com/media/1de218_2b342c54f4ae4eedb69270762457b3fd~mv2.png/v1/fill/w_49,h_8,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_2b342c54f4ae4eedb69270762457b3fd~mv2.png)
De igual forma en cada registro lo seleccionamos y podemos borrar si queremos.
![](https://static.wixstatic.com/media/1de218_1e03f036dce74079bf3d732ed623a102~mv2.png/v1/fill/w_49,h_11,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_1e03f036dce74079bf3d732ed623a102~mv2.png)
Por ultimo, abriremos nuestro SQLiteManager donde tendremos que abrir nuestra base de datos y observaremos que se hayan guardado los registros que hemos estado agregando.
![](https://static.wixstatic.com/media/1de218_0f242d269bb24e9181e257ed0a08f603~mv2.png/v1/fill/w_80,h_41,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_0f242d269bb24e9181e257ed0a08f603~mv2.png)
![](https://static.wixstatic.com/media/1de218_5665b16cb8454a5d93705e880023add4~mv2.png/v1/fill/w_81,h_28,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_5665b16cb8454a5d93705e880023add4~mv2.png)
![](https://static.wixstatic.com/media/1de218_302841fbbcda408194a1f38a644d3c72~mv2.png/v1/fill/w_80,h_27,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_auto/1de218_302841fbbcda408194a1f38a644d3c72~mv2.png)
De esta manera termino esta practica. Muchas gracias por su atención :)