Configurando nuestro proyecto para ejecución
Como pudimos ver en la actividad anterior, nuestro proyecto tuvo problemas para arrancar…
Al arrancar nuestro proyecto como en la imagen anterior se esperaba que funcionara, y sin embargo marcaba error.
En un entorno como el de nuestro Windows, Linux o Mac, lo anterior habría funcionado, pero con PythonAnywhere la asignación de puertos funciona de manera distinta.
Por lo anterior procederemos con los pasos correctos para lograr la ejercución del proyecto en el entorno web de la herramienta. Para ello ingresaremos a PythonAnywhere y daremos click en la opción ‘Web’ del menú
A continuación se nos va a mostrar un tutorial que habremos de completar, cada imagen ilustra un paso a completar en el proceso
Al presionar el botón “Add a new web app”, se inicia un asistente
Durante el proceso se te pedirá indicar la versión de Python de la web app
Luego viene un paso de que debemos indicar configuración manual (la que ya hicimos), observa que dice incluir entornos virtuales, ¿recuerdas los comandos de la práctica anterior?
Después de ese paso damos click en “Siguiente”
…Y veremos entre paso y paso que puede tardar un instante
Cuando la configuración se ha completado, aparece un mensaje como el de a continuación. Hay un enlace en rojo personalizado para cada cuenta. Te reto a no hacerle click
¿No lo resististe, verdad?
Notarás que sale una pantalla como la siguiente, esta es la ventana por defecto del servicio de PythonAnywhere, nosotros no nos queremos quedar con este contenido. Vamos a configurar correctamente el ambiente para ver la pantalla del proyecto Django que generamos en la carpeta ‘mysite’
Para ello entramos en la opción ‘Web’, deberíamos ver algo como lo siguiente hay varios textos en rojo, que son campos vacíos que hay que rellenar. Otros campos en azul también los cambiaremos.
Cabe recordar que la opción aparece así entre las opciones de usuario.
Comenzaremos de entre los cambios a realizar por indicar la opción de código fuente que apunte a la ruta donde está la carpeta ‘mysite’
Debe tener más o menos esta estructura, dependiendo de nuestra estructura de directorios…
Haremos algo similar con la opción ‘Working directory’
Después de esos ajustes, debería ir algo así nuestro espacio de trabajo:
Ahora continuaremos con indicar el entorno virtual, si tienes aún dudas sobre qué es un virtualenv, lee el siguiente artíiculo
Adaptaremos la ruta de nuestro virtualenv a una que se asemeje a la siguiente, siempre respetando nuestra propia estructura de directorios:
Dentro de las opciones de código, hay una que dice archivo de configuración WSGI. Al dar click en la opción va a aparecer un código que podremos editar.
¿Te parece familiar lo que se ve entre la pantalla de la izquierda a la de la derecha? Si aún no, revisar de nuestro entre las líneas 24 y 29, es la magia del HTML en todo su esplendor, reemplazar ese código reemplaza la pantalla que se muestra en nuestra pagina inicial como usuario de PythonAnywhere.
De hecho, vamos a reemplazar TODO el código de ese archivo, se va a poner en su lugar el siguiente código, que se obtuvo del siguiente archivo de ayuda de PythonAnywhere.
Dicho código también se puede tomar de referencia en el curso de Django For Everybody de la Universidad de Michigan, impartido por Charles Severance.
En un vistazo “más cercano” al archivo podremos ver que se resume en cambios a diez líneas, aquí lo que se indica es que se ajustan las rutas de configuración de Django a las contenidas en nuestra carpeta ‘mysite’
Si tuviste la curiosidad de guardar los cambios y recargar tu aplicación web, notarás hay errores en pantalla una vez la accedes.
El error anterior especificaba que nuestro endpoint de la webapp de PythonAnywhere no estaba admitido. Para admitirlo regresaremos a la opción de web y aprovecharemos el atajo que hay para la opción ‘Working Directory’
Ya en el directorio, localizaremos el archivo settings
Al abrirlo localizaremos la línea 28 y vamos a sustituir su contenido como se muestra abajo. Es importante guardar los cambios
Ahora si podremos ir de nuevo a la opción web y recargar nuestra webapp
Si todo nos salió bien, deberíamos ver esta bonita pantalla de configuración, ¡felicidades, tu aplicación web generada funciona a la perfección!