Blog
¡Es momento de desplegar!
- Publicado por: Rafael Fernandez
- Categoría: Curso Desarrollo Web Django

-Vamos a ver lo que es 'Git' y como hacer su instalacion.
-Aprenderemos a enviar el código a GitHub.
-Te explicaremos como realizar los ajustes en el blog alojado en PythonAnywhere
-Veremos como publicar el blog siendo una aplicación web
Atención: En esta oportunidad puede ser que todo sea un poco más complicado. Sin embargo, hay que ser perseverante y concluir de forma exitosa el tema. Todo despliegue forma parte de cada procedimiento al momento de crear un sitio web. En esta ocasión abordaremos un tema cuidadosamente estructurado para que el tutor solvente cualquier duda al momento de poner una página web online, y no mentira, puede ser un rollo total, pero nada imposible de superar.
Actualmente, la página web había estado asequible únicamente en la computadora, es momento de aprender a desplegarla. Cuando hablamos de despliegue, nos referimos a ese procedimiento de publicar cualquier aplicación en la Internet con el que las personas puedan entrar y ver la aplicación creada.
Del mismo modo que se vio en temas anteriores, una página web posee su servidor. Existen varios proveedores, sin embargo, hoy se usará uno el cual posee un procedimiento de despliegue muy sencillo. PythonAnywhere es un servicio gratuito para aplicaciones mínimas el cual no posee muchos visitantes, es decir que será útil para este tipo de situación.
Asimismo, se necesitará de otro servicio que es designado como GitHub. Se trata de una plataforma para poder alojar código. Es verdad que existen otras alternativas, pero hoy precisamente nos centraremos únicamente en las posibilidades que ofrece GitHub.
Se usará GitHub en el paso intermedio con el fin de llevar el código desde y hasta PythonAnywhere.
Git
Se trata de un sistema para el control de versiones, es utilizado por un gran conjunto de programadores a día de hoy. Hablamos de un sistema el cual logra registrar cada ajuste realizado en los archivos por medio del tiempo que genera y de allí, poder entrar a cada versión concreta en el momento que se quiera. Es bastante parecido a la alternativa de “registrar cambios” en Microsoft Word, sin embargo, es más potente.
Instalar Git
Windows
Tienes la opción de bajar Git a través git-scm.com. Se puede realizar con varias pulsaciones en “Next” para la generalidad de los pasos exceptuando solo uno. En el paso número 5 llamado “Adjusting your PATH environment”, hay que seleccionar “Run Git and associated Unix tools from the Windows command-line” (Es decir, la última opción). Además de ello, cada valor estará por defecto y así marchará bien. “Checkout Windows-style, commit Unix-style line endings” será suficiente.
Para comenzar el repositorio Git
Lo primero que debemos hacer es crear nuestro usuario de la siguiente manera:
Y ahora estamos listos para crear el primer repositorio: Primero escribimos el comando “git init” para iniciar el repositorio.
Podemos ver las carpetas o los archivos a los que no le hemos hecho commit con “git status”, para inicializar el repositorio solo debemos ejecutar “git add” seguido del nombre de la carpeta o archivo que necesitemos agregar, si queremos agregarlos todos, solo debemos escribir “git add –all”.
Por ultimo escribimos “git commit-m” seguido de cualquier nombre que le quieras poner a la accion que realices dentro de comillas, como por ejemplo git commit -m “Inicializacion del proyecto”.
El comando “git log” te da la informacion de los cambios que se realicen en el proyecto, el usuario que lo realizo y también el nombre de la acción que ha hecho.
Si se realiza cualquier modificacion en el archivo al que se le ha hecho el commit, con “git status” podremos verlo, y “git diff” te mostrara exactamente donde fue.
Para agregar todos los cambios realizados volvemos a ejecutar “git add” junto al nombre del archivo, y ahora “git commit –a –m” seguido del nombre de la acción.
Cómo enviar el código a GitHub
Lo primero será visitar GitHub.com, una vez allí registrar una cuenta nueva de usuario la cual no tiene costo alguno. Después, elaborar un nuevo repositorio utilizando la designación que quieras. Hay que dejar sin marca alguna la opción de “Initialize with a README”, dejar asimismo la alternativa opción .gitignore vacía y por último, dejar la licencia en “None”.
En esta pantalla se apreciará que la URL de clonación del repositorio. Hay que seleccionar la versión de “HRRPS”, copiarla y en un segundo ponerla en la consola:
Lo siguiente será conectar cada repositorio Git de la computadora con el que está en GitHub.
Escribimos en la consola:
git remote add origin (seguido del link que aparece en nuestro repositorio de GitHub) git push -u origin master
El código se encuentra ahora mismo en GitHub. Se puede ver con solo entrar en el sitio y de antemano decir que se encuentra en un lugar seguro.
Cómo realizar los ajustes en el blog alojado en PythonAnywhere
Lo que sigue ahora es hacerse una cuenta totalmente gratis y para “Beginner” en PythonAnywhere.
Atención: En el instante que se seleccione algún nombre, es bueno considerar la URL de la pagina, ya que poseerá la forma nombredeusuario.pythonanywhere.com, por lo que es bueno seleccionar el mismo apodo o algún nombre que logre describir el sitio web.
Bajar el código y llevarlo a PythonAnywhere
En el instante que el registro haya sido un éxito en PythonAnywhere, la misma redirigirá a todo usuario al panel de control o administración designada como “Consoles”. Allí hay que buscar la opción para comenzar una consola “Bash”, se trata de la versión de la consola en PythonAnywhere, igual a la que se tiene en un computador convencional.
Atención: PythonAnywhere se basa principalmente en Linux, por ello, si se está en Windows, la consola se verá un tanto diferente a lo que se tiene en la computadora.
Lo siguiente es descargar el código por medio de GitHub y llevarlo a PythonAnywhere a través de la elaboración de un “Clon” de dicho repositorio. Hay que tipear lo mostrado a continuación dentro de la consola que PythonAnywhere ofrece:
git clone https://github.com/<tu-usuario-github>/nombre-del-proyecto.git
Atención: No hay que colocar los símbolos < y >, tan solo escribir el nombre del usuario.
Tras realizar dicho paso, se empezará a bajar una copia del código en PythonAnywhere.
Elaborar un virtualenv con PythonAnywhere
Del mismo modo que se hizo con la computadora, se puede hacer un virtualenv con PythonAnywhere. Para ello, se debe escribir en la consola Bash:
- Este paso esta definido anteriormente.
- Se debe crear el entorno virtual con la version 2.7 de python para que podamos instalar whitenoise sin problemas.
- Se activa el entorno virtual, debemos verificar que luego de este paso aparezca “(myvenv)”.
- Por ultimo se instala django y whitenoise.
Todo el proceso puede tardar un poco así que debemos tener paciencia.
Cómo recopilar cada fichero estático
Es posible que se tenga la incógnita sobre de qué va eso del “whitenoise”. Simplemente se trata de un instrumento que ayudará a los designados “ficheros estáticos”. Cada uno de esos ficheros trabaja de manera diferente dentro de cada servidor para ser comparada a cómo se ejecutan en un ordenador convencional y se requiere de un instrumento como “whitenoise” para ayudar.
Se aprenderá poco a poco en cuanto a los ficheros estáticos, en el instante que se edite el CSS de la página web.
Pero ahora mismo lo necesario es poner en marcha dentro del servidor un comando especial designado como “collectstatic”. Eso se encarga de decirle a Django que junte cada uno de los ficheros estáticos que requiere dicho servidor. Por ahora, es esencial que cada fichero estático estén en orden ya que son los encargados de darle un semblante bonito al panel de administración.
Elaborar la base de datos en PythonAnywhere
En este punto, existe algo ligeramente distinto que se encuentra entre la computadora y el servidor: Simplemente el mismo se encarga de emplear una base de datos totalmente distinta. Por ello, cada cuenta de usuario y entrada pudiese ser distinta en torno al servidor y la computadora.
Es de allí que se iniciará la base de datos dentro del servidor de igual forma que se hizo en la computadora empleando migrate y createsuperuser.
De qué manera publicar el blog siendo una aplicación web
Una vez que el código se encuentre en PythonAnywhere, podemos decir que el virtualenv está completado. Cada fichero estático fue recopilado y su base de datos permanece marchando sin ningún problema, es allí donde ya está todo listo para empezar a colgarlo como una aplicación web.
Lo primero es hacer clic en el logo que PythonAnywhere tiene, todo para regresar al panel inicial. Luego de ello, hacer clic en la pestaña Web y presionar en Add a new web app.
Aparecerá una ventana de diálogo, luego de haber afirmado el nombre del dominio que se tenga, hay que seleccionar manual configuration. Después, seleccionar Python 2.7 y hacer clic en “Next” para concluir con su asistente.
Atención: Hay que asegurarse de seleccionar la opción de “Manual configuration”, ignorando completamente la de “Django”.
Los ajustes en el virtualenv
Una vez redireccionados a la pantalla de los parámetros que PythonAnywhere ofrece para la aplicación web, hay que entrar nuevamente en cada instante que se desee realizar algún ajuste en la aplicación de dicho servidor.
En el área de “virtualenv”, hay que hacer clic en el texto que aparece de color rojo diciendo “Enter the path to virtuallnv” (Hay que anexar la vía a virtualenv) y tipear: /home/<tu-usuario>/my-first-blog/myvenv/
Atención: Hay que remplazar el mismo nombre de usuario con el concordado. Si se comete alguna equivocación, PythonAnywhere se encargará de mostrarte un aviso de advertencia. No hay que olvidar que no se debe tipear los símbols < y >.
Ajustes dentro del fichero WSGI
Django se encarga de trabajar manejando el “protocolo WSGI”, se trata de un estándar con el cual logra auxiliar páginas web manejando Python, que PythonAnywhere logra soportar. La manera de realizar los ajustes en PythonAnywhere para que pueda reconocerlo el blog de Django, es editando el fichero de los ajustes dentro del WSGI.
Lo siguiente es hacer clic en el link “WSGI configuration file” (está ubicado en el apartado de “Code” que se muestra desde arriba en el sitio web; muy similar a /var/www/<tu-usuario>_pythonanywhere_com_wsgi.py) y el cual se encargará de redirigir al usuario dentro del editor.
Hay que borrar el contenido que está en la actualidad para remplazarlo con algo que se le parezca a lo mostrado a continuación:
Atención:
No hay que olvidar el remplazar el mismo nombre de usuario en la parte que dice <tu-usuario>.
Ese fichero es el encargado de avisarle a PythonAnywhere en que sitio está la aplicación web y de qué forma se designa el fichero de ajustes en Django. Asimismo, se deben realizar los parámetros de la herramienta para cada fichero estático “whitenoise”.
Lo siguiente es darle en “Save” y regresar a la pestaña de la página web.
Luego de ello, ya estará listo y simplemente hay que apretar el botón enorme y de color verde llamado “Reload”. De esa manera, se podrá ver la aplicación. Se notará un link a ella en la parte superior del sitio web.
Algunos consejos finales para la depuración
Caso de que se muestre algún tipo de fallo en el momento de intentar acceder a la página, lo primero que hay que hacer para poder conseguir los datos de la depuración es el error log; se hallará un link a él en la pestaña de PythonAnywhere. Hay que cerciorarse si existe algún mensaje de error allí. Es probable que el más reciente se encuentre al final. Cada inconveniente común son los mostrados a continuación:
- Dejar de lado el hecho de cada uno de los pasos que se realizó en la consola: realizar el virtualenv, activarlo, proceder con la instalación Django dentro de él, poner en marcha collectstatic, ejecutar la base de datos.
- La falla de la ruta de virtualenv que está en la pestaña web; eso suele dar un mensaje de falla en rojo en caso de que haya algún inconveniente.
- El error en el que el fichero de configuración WSGI sea el protagonista; ¿Se ha realizado la ruta correcta hacía la carpeta de my-first-blog?
No hay que olvidar que se puede contar con alguien especialista en el tema para auxiliar.
Has sobrevivido al recorrido
Dicha página del sitio web tendría que decir “Welcome to Django”, del mismo modo que dentro del ordenador. Lo que hay que intentar hacer es agregar /admin/ al final del URL para ir directamente al panel de administración.
Lo siguiente es ingresar el nombre de usuario junto a la clave y se podrá apreciar que se pueden ir agregando entradas nuevas dentro del servidor.
Esto es todo por ahora, los despliegues en el servidor sin duda alguna es un punto bastante complejo de seguir en el desarrollo de una página web y son varias las personas que le toma trabajo agarrar el hilo del asunto, pero perseverando se puede alcanzar la meta.