Construir una página web usando python.
Hay muchos módulos o marcos que te permiten construir una página web usando python como bottle, Django, Flask, etc. Pero los más populares son Flask y Django. Django es fácil de usar en comparación con Flask, pero Flask le brinda flexibilidad para programar.
Para comprender qué es Flask, debe comprender algunos términos generales.
- WSGI La interfaz de puerta de enlace del servidor web (WSGI) se ha adoptado como estándar para el desarrollo de aplicaciones web de Python. WSGI es una especificación para una interfaz universal entre el servidor web y las aplicaciones web.
- Werkzeug Es un conjunto de herramientas WSGI, que implementa solicitudes, objetos de respuesta y otras funciones de utilidad. Esto permite que se construya un marco web sobre él. El marco Flask utiliza Werkzeug como una de sus bases.
- chico 2 jinja2 es un motor de plantillas popular para Python. Un sistema de plantillas web combina una plantilla con una fuente de datos particular para representar páginas web dinámicas.
Matraz Es un marco de aplicación web escrito en Python. Flask se basa en el kit de herramientas Werkzeug WSGI y el motor de plantillas Jinja2. Ambos son proyectos de Pocco.
Instalación:
Necesitaremos dos paquetes para configurar su entorno. entorno virtual para que un usuario cree múltiples entornos de Python uno al lado del otro. Por lo tanto, puede evitar problemas de compatibilidad entre las diferentes versiones de las bibliotecas y la próxima versión. Matraz propio.
entorno virtual
pip install virtualenv
Crear un entorno virtual de Python
virtualenv venv
Activación de un entorno virtual
windows > venvScriptsactivate linux > source ./venv/bin/activate
Matraz
pip install Flask
Después de completar la instalación del paquete, tengamos en nuestras manos el código.
Python3
# Importing flask module in the project is mandatory # An object of Flask class is our WSGI application. from flask import Flask # Flask constructor takes the name of # current module (__name__) as argument. app = Flask(__name__) # The route() function of the Flask class is a decorator, # which tells the application which URL should call # the associated function. @app .route( '/' ) # ‘/’ URL is bound with hello_world() function. def hello_world(): return 'Hello World' # main driver function if __name__ = = '__main__' : # run() method of Flask class runs the application # on the local development server. app.run() |
Guárdelo en un archivo y luego ejecute el script. Obtendremos un resultado como este.
Luego, vaya a la URL que se proporciona allí y verá su primera página web que muestra hola al mundo allí en su servidor local.
Profundizando más en el contexto, el camino() un decorador en Flask se usa para vincular una URL a una función. Ahora, para ampliar esta funcionalidad, se equipa otro método en nuestra pequeña aplicación web. añadir_url_rule() que es una función de un objeto de aplicación que también está disponible para vincular una URL a una función como en el ejemplo anterior, se usa route().
Ejemplo:
def gfg(): return ‘geeksforgeeks’ app.add_url_rule(‘/’, ‘g2g’, gfg)
Producción:
geeksforgeeks
También puede agregar variables en su aplicación web, bueno, es posible que se pregunte cómo ayudarlo, lo ayudará a construir dinámicamente una URL. Entonces, averigüémoslo con un ejemplo.
Python3
from flask import Flask app = Flask(__name__) @app .route( '/hello/<name>' ) def hello_name(name): return 'Hello %s!' % name if __name__ = = '__main__' : app.run() |
Y ve a la URL http://127.0.0.1:5000/hola/geeksforgeeks le dará la siguiente salida.
También podemos usar métodos HTTP en Flask, veamos cómo hacerlo.
El protocolo HTTP es la piedra angular de la comunicación de datos en la red mundial. En este protocolo se definen varios métodos para recuperar datos de una URL específica. Los métodos se describen a continuación.
OBTENER: Los datos se envían en forma simple o sin cifrar al servidor.
CABEZA: Los datos se envían en forma simple o sin cifrar al servidor no incorporado.
CABEZA: Los datos del formulario se envían al servidor. Los datos no se almacenan en caché.
PONER : El recurso de destino se reemplaza con el contenido actualizado.
Borrar : Se elimina un recurso de destino proporcionado como URL.
De forma predeterminada, la ruta de sangría responde a las solicitudes GET. Sin embargo, esta opción se puede cambiar proporcionando un argumento de método al decorador de ruta (). Para demostrar el uso del método POST en el enrutamiento de URL, primero, creamos un formulario HTML y usamos el método POST para enviar datos de formulario a una URL. Ahora, vamos a crear una página de inicio de sesión HTML.
A continuación se muestra el código fuente del archivo:
HTML
< html > < body > < p >Enter Name:</ p > < p >< input type = "text" name = "nm" /></ p > < p >< input type = "submit" value = "submit" /></ p > </ form > </ body > </ html > |
Ahora guarde el HTML de este archivo y pruebe este script de python para crear el servidor.
Python3
from flask import Flask, redirect, url_for, request app = Flask(__name__) @app .route( '/success/<name>' ) def success(name): return 'welcome %s' % name @app .route( '/login' , methods = [ 'POST' , 'GET' ]) def login(): if request.method = = 'POST' : user = formulario de aplicación[ 'nm' ] return redirect(url_for( 'success' , name = user)) else : user = request.args.get( 'nm' ) return redirect(url_for( 'success' , name = user)) if __name__ = = '__main__' : app.run(debug = True ) |
Después de que el servidor de desarrollo comience a ejecutarse, abra login.html en el navegador, ingrese su nombre en el campo de texto y haga clic en meter en botón. La salida es la siguiente.
El resultado será algo como esto.
Y hay mucho más en Flask que esto. Si está interesado en este marco web de Python, puede profundizar en los enlaces que figuran a continuación para obtener más información.
Este artículo ha sido agregado Subhajit Saha. Si te gusta GeeksforGeeks y quieres contribuir, también puedes escribir un artículo usándolo. escribir.geeksforgeeks.org o envíe su artículo por correo a review-team@geeksforgeeks.org. Vea su artículo destacado en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba un comentario si encuentra algún problema o si desea compartir más información sobre el tema tratado anteriormente.