En esta practica, explicare cada paso para llevar a cabo la creación de una pagina web con python3 y Django.
En el anterior post enseñe como instalar Django en nuestro sistema operativo, si no tienes este requisito no podrás realizarlo, de la misma manera también descargaremos e instalaremos un IDE o manejador de SQLite, ya sea el SQLiteManager o el DB Browse SQLite.
Yo usare el SQLiteManager.
Haremos una aplicación web de alumnos egresados de una institución y llenaremos los campos necesarios como nombre, edad, carrera, e-mail, etc.
1. Lo primero que haremos sera crear el proyecto en un cmd, y para eso haremos el siguiente comando:
C:\Users\brand>cd..
C:\Users>cd..
C:\>django-admin startproject Egresados
Con este comando crearemos nuestro proyecto con las herramientas necesarias para que funcione correctamente.
Enseguida podremos ver en el directorio del disco local C: se ha creado una carpeta con el nombre del proyecto que hemos creado.
2. Después vamos a crear una App, que es necesaria para poder crear nuestros modelos de la aplicación web de la siguiente manera:
C:\Users\brand>cd..
C:\Users>cd..
C:\cd Egresado
C:\Egresados>django-admin startapp datos_personales
Al ejecutar este comando va a crear los módulos de la aplicación web.
3. Ahora podremos abrir nuestro IDE en mi caso es Pycharm, y nos dirigiremos a la sección de Archivo, para abrir la carpeta de Egresados.
4. Podremos ver que se han creado archivos necesarios para la construcción del programa, y con ello también fue creado un directorio con el nombre de la aplicación, esa carpeta es importante ya que ahí realizaremos la mayoría de las configuraciones, migraciones, modelos, etc.
Recordamos la función de estos archivos:
__init__.py: Archivo requerido para que Python trate el directorio como un Paquete Python
admin.py: Configuración del Admin de Django.
apps.py: Configuración de la aplicación, en este caso la app Polls.
models.py: Definición de modelos/esquema de la base de datos.
tests.py: Los tests!
views.py: Definición de funciones o clases que manejan los requests y retornan, generalmente, un HttpResponse.
5. Podemos ver el contenido de la aplicación en el cmd de la siguiente manera:
C:\Egresados\datos_personales>dir
6. Ahora hay que darle la instrucción al servidor para que este en linea y lo hacemos de la siguiente manera:
C:\Egresados>python3 manage.py runserver
Y observemos que se ha generado una dirección ip, esa dirección la debemos poner en nuestro navegador de preferencia.
Y se realizo la conexión del servidor, es importante mantenerlo encendido ya que si cerramos el cmd, no nos dejara entrar a la pagina.
Puedes checar la documentación de como usar cada modelo y algunas características que tienen, te lo recomiendo que lo leas, da clic aqui y te llevara a la documentación oficial.
7. Ahora viene la parte de la programación, este es mi ejemplo con algunos datos o campos que puse, es necesario leer la documentación oficial de Django, la estudie y me se algunas funciones.
Harás las modificaciones en el archivo llamado model.py y este es mi ejemplo con 2 tablas y esta en desarrollo por el momento:
**Nota: Use IntegerField pero en su documentación no permite poner una longitud especifica, y estuve investigando alguna forma para solucionar este problema y encontré esta solución:
a) Agregamos la siguiente librería:
from django.core.validators import RegexValidator
b) Después este es un ejemplo en donde podremos poner números con cierto rango especifico:
CP=models.CharField(max_length=5, validators [RegexValidator(r'^\d{1,5}$')])
Aquí estoy especificando que tendrá una longitud máxima desde 1 carácter hasta 5.
Ahora si retomamos lo anterior.
En la practica se vio que se realizo en una sola tabla, o sea una sola clase, pero hice ahora 2 clases, una de los datos en general del estudiante egresado, y otra tabla para datos de la carrera, es importante relacionar algún atributo para una futura relación por eso utilice "Matricula" para hacer después una relación. Pero eso se vera mas a futuro, por mientras solo algo básico.
8. Ahora vamos al archivo de admin.py para administrar las tablas que hemos creado y deberá quedar de la siguiente forma:
9. Ahora hay que cargar en el archivo settings.py el nombre de la App que en este caso fue datos_personales.
Aquí también podemos hacer mas configuraciones desde cambiar el idioma y el nombre de la base de datos
10. Ahora, toca migrar todo lo que hemos hecho para que se actualice, para eso abrimos otro cmd y volvemos a entrar a la raíz de egresados y ejecutamos el siguiente comando:
C:\Egresados>python3 manage.py migrate
Y en seguida empezara a migrar todo los campos a la base de datos
11. También podemos ejecutar esta instrucción para no crear conflicto alguno, y aquí guarda la modificación del modelo que acabamos de crear:
**Nota: Si hacemos cualquier modificación en el model.py debemos ejecutar estas dos instrucciones, 2 o 3 veces respectivamente, si sale un tipo de error pues es cuestión de investigar acerca de ello, puede ser algún tipo de dato erróneo, una palabra mal escrita, etc.)
12. Podemos volver a correr el servidor en caso dado de que haya sufrido un error.
13. Ahora agregamos un /admin después del url en el navegador:
http://127.0.0.1:8000/admin
y entraremos al administrador para ahí agregar datos, modificar o borrar.
Observemos que nos pide un usuario y contraseña. Lo que haremos sera lo siguiente
Crear Super Usuario
14. Ejecutamos el siguiente comando en un cmd:
C:\Egresados>python3 manage.py createsuperuser
Nos pedirá ingresar el nombre del usuario, un correo electrónico, una contraseña, como se muestra a continuación:
15. Ahora ingresamos al administrador con el nuevo usuario:
16. Listo hemos ingresado y ahora ya podemos meter datos a nuestra base de datos, ya sea en la tabla de Datos carreras o Datos personales egresados.
17. Estos son algunos datos que metí de ejemplo:
18. Ahora con el SQLiteManager podemos abrir la base de datos y consultar desde ahí, solo es cuestión de abrir la aplicación.
Bueno esta fue toda la parte de la practica, en el transcurso de lo que queda del semestre lo iré actualizando, doy por hecho que comprendí toda la practica desde crear el proyecto, la app, los modelos, la configuración, correr el servidor, migrar los modelos, crear super usuario.
Espero haya sido de ayuda muchas gracias por tu atención :D nos vemos en la siguiente actualización de esta aplicación web.
Comentarios