Cómo alojar su sitio web Python de forma gratuita en Heroku

Cómo alojar su sitio web Python de forma gratuita en Heroku

Entonces, acaba de completar un sitio web de cartera simple con Python y desea instalarlo utilizando un alojamiento gratuito. Has oído hablar del alojamiento gratuito de Heroku, pero no entiendes muy bien los aspectos técnicos involucrados.

Esta guía le ayudará a trabajar en todo el proceso de alojamiento de su sitio web Python de forma gratuita en Heroku, de una forma mucho más sencilla. Suponemos que tiene un conocimiento básico de Python y al menos uno de sus marcos, preferiblemente Django.

¿Por qué elegir Heroku?

Heroku es un proveedor de alojamiento web de plataforma como servicio (PaaS) que ejecuta su infraestructura en algo que llama Dynos. Lo mantiene enfocado en la implementación, mientras se ocupa de la dificultad de mantener y construir su infraestructura web.

En caso de que no pueda pagar el alojamiento de pago, pero desee poner una cartera en línea rápidamente, es posible que desee considerar alojarlo en Heroku. Además de ser gratuito, es bastante rápido instalar su sitio web en Heroku.

Por supuesto, existen otras plataformas donde puede alojar su sitio web Python de forma gratuita, como Amazon Web Services y PythonAnywhere. Pero el proceso de hospedaje en Heroku es fácil, especialmente para personas sin conocimiento previo de implementación.

Cuando aloja un sitio web de forma gratuita en Heroku, no es necesario que tenga un nombre de dominio. Todo lo que necesita es especificar el nombre de su aplicación en la plataforma de alojamiento. Luego, Heroku crea un localizador app.herokuapp.com para ti. Cuando está en este servicio gratuito, su sitio se ejecuta en Heroku Dynos.

Si luego decide ampliar y obtener un nombre de dominio, es igualmente fácil y rápido, pero debe pagar por ello. El costo abrumador de mantener la actualización puede hacer que lo reconsidere, pero vale la pena el dinero si está decidido a invertir más en el proyecto.

Examinemos ahora cómo alojar su sitio web Python de forma gratuita en Heroku. Tenga en cuenta que esto se basa en la versión 3.7 de Python y la versión 2.1.7 de Django.

Configurar Git y Heroku

Para comenzar, descargue Git del sitio web git-scm . Los diversos comandos y giros para instalar Git en todos los sistemas operativos se explican aquí.

Después de instalar Git, también debe configurar una cuenta con Heroku en la página de registro de Heroku si aún no tiene una.

A continuación, descargue e instale la CLI de Heroku desde el sitio web de Heroku. La CLI de Heroku le permite comunicarse con su repositorio cada vez que necesite realizar cambios en su aplicación.

Si aún no está familiarizado con los comandos de Git, debería echar un vistazo a nuestra introducción al control de versiones con Git .

Configurar un proyecto de Django

Si no tiene un proyecto de Django configurado y desea probarlo con este tutorial, abra la línea de comandos y cree un entorno virtual si aún no lo tiene. Una vez que el entorno virtual esté listo, use este comando para instalar el marco de Django:

pip install django==2.1.7

Después de instalar Django en el entorno virtual, ejecute el siguiente comando para iniciar un nuevo proyecto de Django:

django-admin.py startproject project_name

A continuación, cree una nueva aplicación de Python. Para hacer eso, migre a la carpeta raíz de su proyecto en la CMD y ejecute:

python manage.py startapp app_name

Recuerde reemplazar project_name y app_name con sus nombres preferidos.

Necesita el módulo gunicorn para esto, por lo que también debe ejecutar pip install gunicorn . Luego agregue gunicorn a la lista de aplicaciones instaladas en settings.py , como se muestra a continuación:

Cómo alojar su sitio web Python de forma gratuita en Heroku

Esta es solo una introducción superficial a la creación de una aplicación Django. Sin embargo, ya sea que su aplicación esté lista, o simplemente esté creando una, asegúrese de que su ejecución python manage.py migre para crear su base de datos.

Ahora debería tener una aplicación Python ejecutándose dentro de su marco de Django. Ahora nos sumergiremos en nuestro objetivo principal.

Implementar su aplicación en Heroku

Para tener una implementación exitosa de su aplicación en Heroku, necesita configurar un archivo requirements.txt . Para configurarlo, ejecute lo siguiente en su CMD:

pip freeze > requirements.txt

Esa línea crea un archivo .txt que contiene todos los paquetes utilizados para servir su proyecto. Heroku examina ese archivo durante la implementación e instala esos paquetes automáticamente.

Otro archivo importante que debe especificar es Procfile . Esto le dice a Heroku los comandos que deben ejecutarse en la inicialización de la aplicación. Sin embargo, debe crear este archivo creando explícitamente un nuevo archivo de texto llamado Procfile en la raíz de su proyecto. Asegúrese de que este archivo no tenga una extensión de archivo; de lo contrario, no funcionará.

Para eliminar la extensión del archivo de Procfile en Windows, abra la carpeta en el Explorador de archivos, haga clic en Ver en la barra de herramientas superior y marque la casilla Extensiones de nombre de archivo . Luego verá las extensiones para todos los archivos, incluida la extensión .txt para Procfile . Haga clic con el botón derecho en Procfile y elija Cambiar nombre , luego simplemente elimine la extensión .txt y presione Enter .

Cómo alojar su sitio web Python de forma gratuita en Heroku

A continuación, abra Procfile y agregue la siguiente línea, reemplazando project_name con el nombre que se aplica a su proyecto:

web: gunicorn project_name.wsgi

Opcionalmente, también puede crear un archivo runtime.txt . Abra el archivo y especifique la versión de Python de la siguiente manera:

python-3.7.6

Así es como le dices a Heroku la versión de Python en la que se ejecuta tu aplicación. Si no especifica este archivo, Heroku solo usa la última versión de Python por defecto.

A continuación, en el símbolo del sistema, inicie sesión en su cuenta de Heroku ejecutando este comando:

heroku login

Ese comando abre su navegador predeterminado a la página de inicio de sesión de Heroku, donde puede proporcionar sus credenciales de inicio de sesión.

Para crear una aplicación en Heroku, escriba la siguiente línea:

heroku create ademosapp2

Reemplace ademosapp2 con el nombre de su aplicación preferida. Si el nombre de la aplicación que seleccionó está en uso, verá un mensaje que le pedirá que elija un nuevo nombre.

En la página de inicio de sesión, haga clic en el logotipo de Heroku para iniciar sesión en su panel de control de Heroku. Ahora debería ver la aplicación que acaba de crear.

Cómo alojar su sitio web Python de forma gratuita en Heroku

A continuación, abra su editor de texto preferido en la ubicación de su proyecto y acceda al archivo settings.py de su proyecto . En el archivo settings.py , cambie el Host permitido a [*] --- esto hace que su aplicación sea accesible para cualquier host global.

Ahora vaya a su panel de Heroku y haga clic en la aplicación recién creada, seguida de la configuración . En la configuración, desplácese hacia abajo y haga clic en Agregar paquete de compilación . Luego, seleccione Python como su paquete de compilación y haga clic en Guardar cambios .

Cómo alojar su sitio web Python de forma gratuita en Heroku

Luego, regrese a su CMD y ejecute el siguiente código para instalar Heroku en su proyecto:

pip install django-heroku

Ahora, agregue el paquete recién instalado al archivo requirements.txt ejecutando:

pip freeze > requirements.txt

Luego, abra el archivo settings.py de su proyecto y escriba:

import django_heroku

Además, en la última línea de settings.py , active django-heroku agregando:

django_heroku.settings(locals()) #ensure that you comment this line out after deployment

Una vez hecho esto, inicie un repositorio remoto escribiendo lo siguiente en su línea de comando:

heroku init

A continuación, cree un repositorio de aplicaciones Heroku ejecutando:

heroku git:remote -a ademosapp2 #replace ademosapp2 with your app's name

Para verificar los archivos que deben confirmarse, ejecute:

git status

A continuación, escriba el siguiente comando para agregar todos los cambios a su repositorio:

git add --all

Una vez que se agregan los cambios, confirme sus cambios en Heroku ejecutando el comando:

git commit -m "initial-commit"

Tenga en cuenta que "initial-commit" puede usar cualquier nombre que desee.

A continuación, debe deshabilitar collectstatic mediante lo siguiente:

heroku config:set DISABLE_COLLECTSTATIC=1

De lo contrario, podría tener problemas durante el proceso de implementación.

Para finalmente enviar sus archivos a su repositorio de Heroku, use el comando:

git push heroku master

Esto envía todos sus archivos a Heroku y hace que la aplicación sea accesible desde cualquier lugar. Para ver su aplicación recién implementada, vaya a https://app_name.herokuapp.com en su navegador, reemplazando app_name con el nombre de su aplicación.

Cómo alojar su sitio web Python de forma gratuita en Heroku

¿Puede Heroku alojar una aplicación que no se ejecute en Python?

Puede alojar una variedad de compilaciones de aplicaciones en Heroku; los mismos procesos de Git que cubrimos aquí funcionan para otros lenguajes además de Python. Solo necesita hacer pequeños cambios, como restablecer su paquete de compilación.

Aunque Heroku le ofrece alojamiento gratuito, todos sabemos que el contenido gratuito tiene algunas limitaciones. Sin embargo, si no espera que su sitio web reciba mucho tráfico, el alojamiento gratuito de Heroku podría ser una buena opción.


Cómo usar Python como una calculadora de línea de comandos

Cómo usar Python como una calculadora de línea de comandos

Si bien puede usar una calculadora gráfica en su computadora, el intérprete del lenguaje de programación Python puede funcionar como una calculadora de escritorio. Es una broma de ejecución tan popular en la comunidad de Python que se menciona en el tutorial oficial. Así es como puedes usar Python como calculadora.

Los 8 mejores blogs de Java para programadores

Los 8 mejores blogs de Java para programadores

Como programador, debe enfrentar desafíos para sobrevivir y construir algunas maravillas en el campo del desarrollo o la programación. Por lo tanto, si está buscando aprender un lenguaje de programación avanzado para mejorar sus habilidades profesionales, Java es uno de los mejores prospectos que existen.

7 comandos vitales para comenzar con Python para principiantes

7 comandos vitales para comenzar con Python para principiantes

Aprender un nuevo lenguaje de programación como Python se vuelve fácil si tiene una hoja de ruta completa que detalla qué conceptos aprender como principiante y cómo progresar más para alcanzar el siguiente hito. Incluso los programadores intermedios deberían repasar con frecuencia sus conceptos básicos para construir una base sólida para ellos mismos.

Principios de diseño web receptivo

Principios de diseño web receptivo

Hoy en día, es una práctica común crear un sitio web o una aplicación que ajuste su interfaz de usuario según el navegador o el dispositivo. Hay dos enfoques para lograr este objetivo. La primera implica la creación de diferentes versiones de su sitio web o aplicación para diferentes dispositivos. Pero es ineficiente y puede provocar errores impredecibles.

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Trabajar con números es una parte integral de la programación. Todos los lenguajes de programación brindan soporte para manipular números de muchas formas diferentes. En este artículo, aprenderá a encontrar el número total de dígitos en un entero utilizando enfoques iterativos, basados ​​en registros y basados ​​en cadenas.

Las 9 mejores alternativas de Docker para la gestión de contenedores

Las 9 mejores alternativas de Docker para la gestión de contenedores

Los contenedores son muy beneficiosos para el desarrollo, la implementación y la administración de software en un entorno virtual. Docker es útil en el proceso de contenedorización, pero no es la única plataforma que existe. Si está buscando algunas alternativas a Docker, no busque más. Esta lista muestra algunas alternativas de Docker eficientes y ricas en funciones para usar en su próximo proyecto.

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

Cómo incrustar tweets en sus publicaciones de WordPress

Cómo incrustar tweets en sus publicaciones de WordPress

Incrustar servicios de terceros en sus publicaciones de WordPress es una forma emocionante de cautivar el interés de un visitante. El contenido incrustado también proporciona señales visuales que facilitan el escaneo. WordPress ha facilitado la adición de este tipo de contenido.

Cómo eliminar la carpeta de módulos de nodo con npkill

Cómo eliminar la carpeta de módulos de nodo con npkill

Node.js es un entorno de ejecución de JavaScript que le permite ejecutar JavaScript fuera de los navegadores web, lo que lo convierte en una opción popular para desarrollar todo tipo de aplicaciones. Parte de su popularidad se debe a la gran cantidad de paquetes de NPM que existen para facilitar la experiencia del desarrollador.

Cómo escribir y compilar su primer código de solidez

Cómo escribir y compilar su primer código de solidez

La solidez es el lenguaje de programación utilizado por los contratos inteligentes en la cadena de bloques Ethereum. Es un lenguaje de programación orientado a objetos de tipo estático.

Las 5 mejores insignias que potenciarán su repositorio de GitHub

Las 5 mejores insignias que potenciarán su repositorio de GitHub

Las insignias de GitHub pueden aumentar la legibilidad de un repositorio al proporcionar a los usuarios una forma rápida de capturar las métricas del repositorio. Las insignias se pueden incrustar en su README.md para aclarar la importancia y la necesidad de su proyecto a otros desarrolladores. Como resultado, los lectores obtienen una idea muy rápida del repositorio al verificar las insignias adjuntas.

¿Qué es el Día Internacional de los Programadores? 3 formas de celebrar este año

¿Qué es el Día Internacional de los Programadores? 3 formas de celebrar este año

Los días de celebración internacional son una buena forma de reconocer los asuntos sociales, los días históricos y las respectivas carreras. El Día Internacional de los Programadores celebra el papel que desempeñan los programadores para mejorar la vida cotidiana. El mundo civilizado en el que vivimos es producto del arduo trabajo de los programadores.

¿Cómo funciona el método Python String format ()? 10 ejemplos

¿Cómo funciona el método Python String format ()? 10 ejemplos

Ya sea una consulta de base de datos o resultados de operaciones matemáticas, el método de formato de cadena de Python ofrece una forma más dinámica y atractiva de presentar resultados a un usuario.

Visual Studio 2022 frente a 2019: ¿Debería actualizar ahora? Explicado

Visual Studio 2022 frente a 2019: ¿Debería actualizar ahora? Explicado

A principios de este año, Microsoft lanzó la versión preliminar de Visual Studio 2022 en el salvaje mundo de la programación. ¡Estas son buenas noticias! Es un IDE extremadamente popular, pero debido a una puesta a punto o tal vez incluso una revisión, dado el ritmo de cambio en el ecosistema DevOps en el que prospera.

Una introducción simple a las métricas de software

Una introducción simple a las métricas de software

Las métricas de software son medidas que se utilizan para cuantificar varios aspectos de su software. Estos aspectos pueden variar desde el costo, la calidad y la eficiencia del equipo de desarrollo.

Cómo instalar .NET Framework versión 3.5 en Windows 10

Cómo instalar .NET Framework versión 3.5 en Windows 10

Como usuario de Windows, probablemente al menos una vez se haya encontrado con las palabras .NET Framework. Es un marco de software desarrollado por Microsoft que le permite crear y ejecutar programas C #, C ++, F # y Visual Basic. La última versión de .NET es 4.8, pero es posible que su computadora necesite una versión anterior de .NET (como .NET 3.5) para ejecutar algunas aplicaciones.

Frasco o CherryPy: ¿Qué marco de Python debería usar?

Frasco o CherryPy: ¿Qué marco de Python debería usar?

Si es un desarrollador de Python, puede beneficiarse enormemente de la variedad de marcos disponibles. Si bien algunos marcos son más adecuados para grandes ecosistemas, otros se especializan en cumplir objetivos de desarrollo específicos. Siga leyendo para conocer las características básicas, los usos y las diferencias entre dos marcos de Python: Flask y CherryPy.

Cómo encontrar cubos y cuadrados perfectos de N dígitos usando Python, C ++ y JavaScript

Cómo encontrar cubos y cuadrados perfectos de N dígitos usando Python, C ++ y JavaScript

A muchos programadores les encanta resolver problemas matemáticos complicados utilizando código. Ayuda a agudizar la mente y mejorar la capacidad de resolución de problemas. En este artículo, aprenderá a encontrar los cuadrados y cubos perfectos de n dígitos más pequeños y más grandes utilizando Python, C ++ y JavaScript. Cada ejemplo también contiene una salida de muestra para varios valores diferentes.

Cómo agregar Python a la variable PATH de Windows

Cómo agregar Python a la variable PATH de Windows

Ejecutar Python desde la terminal a menudo es inevitable. Sin embargo, si acaba de instalar Python en Windows 10 por primera vez, ejecutarlo a través de la Terminal de Windows solo es posible si se agrega a la variable de entorno Windows PATH.

Cómo usar la declaración if de Python

Cómo usar la declaración if de Python

La declaración if es la fuerza impulsora de la programación lógica. Como resultado, una mejor comprensión de Pythons es una adición significativa a sus habilidades de programación de Python.

Cómo usar Python como una calculadora de línea de comandos

Cómo usar Python como una calculadora de línea de comandos

Si bien puede usar una calculadora gráfica en su computadora, el intérprete del lenguaje de programación Python puede funcionar como una calculadora de escritorio. Es una broma de ejecución tan popular en la comunidad de Python que se menciona en el tutorial oficial. Así es como puedes usar Python como calculadora.

Los 8 mejores blogs de Java para programadores

Los 8 mejores blogs de Java para programadores

Como programador, debe enfrentar desafíos para sobrevivir y construir algunas maravillas en el campo del desarrollo o la programación. Por lo tanto, si está buscando aprender un lenguaje de programación avanzado para mejorar sus habilidades profesionales, Java es uno de los mejores prospectos que existen.

7 comandos vitales para comenzar con Python para principiantes

7 comandos vitales para comenzar con Python para principiantes

Aprender un nuevo lenguaje de programación como Python se vuelve fácil si tiene una hoja de ruta completa que detalla qué conceptos aprender como principiante y cómo progresar más para alcanzar el siguiente hito. Incluso los programadores intermedios deberían repasar con frecuencia sus conceptos básicos para construir una base sólida para ellos mismos.

Principios de diseño web receptivo

Principios de diseño web receptivo

Hoy en día, es una práctica común crear un sitio web o una aplicación que ajuste su interfaz de usuario según el navegador o el dispositivo. Hay dos enfoques para lograr este objetivo. La primera implica la creación de diferentes versiones de su sitio web o aplicación para diferentes dispositivos. Pero es ineficiente y puede provocar errores impredecibles.

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Cómo contar la cantidad de dígitos en un número usando C ++, Python y JavaScript

Trabajar con números es una parte integral de la programación. Todos los lenguajes de programación brindan soporte para manipular números de muchas formas diferentes. En este artículo, aprenderá a encontrar el número total de dígitos en un entero utilizando enfoques iterativos, basados ​​en registros y basados ​​en cadenas.

Las 9 mejores alternativas de Docker para la gestión de contenedores

Las 9 mejores alternativas de Docker para la gestión de contenedores

Los contenedores son muy beneficiosos para el desarrollo, la implementación y la administración de software en un entorno virtual. Docker es útil en el proceso de contenedorización, pero no es la única plataforma que existe. Si está buscando algunas alternativas a Docker, no busque más. Esta lista muestra algunas alternativas de Docker eficientes y ricas en funciones para usar en su próximo proyecto.

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

SQL vs. NoSQL: ¿Cuál es la mejor base de datos para su próximo proyecto?

Cómo incrustar tweets en sus publicaciones de WordPress

Cómo incrustar tweets en sus publicaciones de WordPress

Incrustar servicios de terceros en sus publicaciones de WordPress es una forma emocionante de cautivar el interés de un visitante. El contenido incrustado también proporciona señales visuales que facilitan el escaneo. WordPress ha facilitado la adición de este tipo de contenido.

Cómo eliminar la carpeta de módulos de nodo con npkill

Cómo eliminar la carpeta de módulos de nodo con npkill

Node.js es un entorno de ejecución de JavaScript que le permite ejecutar JavaScript fuera de los navegadores web, lo que lo convierte en una opción popular para desarrollar todo tipo de aplicaciones. Parte de su popularidad se debe a la gran cantidad de paquetes de NPM que existen para facilitar la experiencia del desarrollador.

Cómo escribir y compilar su primer código de solidez

Cómo escribir y compilar su primer código de solidez

La solidez es el lenguaje de programación utilizado por los contratos inteligentes en la cadena de bloques Ethereum. Es un lenguaje de programación orientado a objetos de tipo estático.