Flask desarrollo rápido de aplicaciones web: conocimiento esencial desde el inicio hasta la competencia

Flask es un marco web ligero basado en Python, fácil de usar, flexible y escalable, y es muy adecuado para el desarrollo de pequeñas aplicaciones web. La siguiente es una explicación de los conceptos básicos de Flask.

Instalar y configurar el entorno Flask

Antes de instalar Flask, debe asegurarse de que se haya instalado el entorno de Python. Puede verificar si Python está instalado con el siguiente comando:

python --version

Si Python no está instalado, puede descargar el paquete de instalación correspondiente del sitio web oficial para instalarlo.

Puede usar el comando pip para instalar Flask, ingrese el siguiente comando en la línea de comando:

pip install Flask

Una vez completada la instalación, puede usar Flask en Python.

¡Hola, mundo!: la primera aplicación de Flask

Antes de aprender cualquier marco, generalmente escribe un programa de muestra ¡Hola, mundo!, y Flask no es una excepción. Aquí hay un programa simple de Hello, World!:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return 'Hello, World!'

El código anterior primero importa la biblioteca Flask, luego crea una instancia de la aplicación Flask y define una ruta /, y la función de vista correspondiente es hello(). En la función hello(), se devuelve una cadena "¡Hola, mundo!".

Para ejecutar este programa, ejecute el siguiente comando en la terminal:

export FLASK_APP=hello.py
flask run

Aquí hello.py es el nombre de archivo del programa. Después de ejecutar el comando anterior, puede visitar http://127.0.0.1:5000/ en el navegador y ver el resultado de "¡Hola, mundo!".

Mecanismo de solicitud y respuesta de Flask

En Flask, la solicitud y la respuesta es uno de los conceptos centrales. Cada vez que un cliente envía una solicitud, se crea un objeto Solicitud. Este objeto contiene toda la información enviada por el cliente, como el método HTTP, el encabezado de la solicitud, los datos de la solicitud, etc.

En la función de vista, los datos solicitados se pueden obtener a través del objeto de solicitud. Por ejemplo, puede obtener el método HTTP a través de la propiedad request.method, obtener los datos del formulario a través de la propiedad request.form, obtener los datos de la cadena de consulta a través de la propiedad request.args, etc.

Cuando una función de vista devuelve una respuesta, se crea un objeto de respuesta. Este objeto contiene toda la información que se enviará al cliente, como el código de estado de la respuesta, el encabezado de la respuesta, los datos de la respuesta, etc.

En la función de vista, los datos de respuesta se pueden devolver a través de la declaración de devolución. Por ejemplo, se puede devolver una cadena, un diccionario o una plantilla. Flask encapsulará automáticamente el valor de retorno en un objeto de respuesta y lo enviará al cliente.

Funciones de visualización y enrutamiento de Flask

El enrutamiento se refiere al proceso de hacer coincidir las funciones de vista en función de las direcciones URL. En Flask, las rutas se pueden definir usando el decorador route(). Este decorador toma un parámetro de cadena que especifica la dirección URL de la ruta.

Aquí hay un ejemplo:

@app.route('/hello')
def hello():
    return 'Hello, World!'

En este ejemplo, se define una ruta /hola y la función de vista correspondiente es hola(). Cuando un cliente accede a /hello, se llama a la función hello() y devuelve la cadena "Hello, World!".

Una función de vista es una función que procesa una solicitud y devuelve una respuesta. En Flask, las funciones de vista se pueden definir usando el decorador route(). Este decorador puede recibir varios parámetros, el más importante de los cuales son los métodos, que se utilizan para especificar los métodos HTTP que la función de vista puede manejar.

Aquí hay un ejemplo:

@app.route('/login', methods=['GET', 'POST'])
def login():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        # TODO: 验证用户名和密码
        return '登录成功'
    else:
        return render_template('login.html')

En este ejemplo, se define una ruta / inicio de sesión y la función de visualización correspondiente es inicio de sesión (). Esta función permite el manejo de ambos métodos HTTP, GET y POST.

Cuando el método de solicitud es POST, significa que el cliente ha enviado los datos del formulario. Los datos del formulario se pueden obtener a través de request.form, y el nombre de usuario y la contraseña se pueden verificar. Si se pasa la verificación, se devuelve la cadena "inicio de sesión exitoso".

Cuando el método de solicitud es GET, significa que el cliente solicita la página de inicio de sesión. La función render_template() puede representar una plantilla HTML y luego devolverla al cliente.

Plantillas y archivos estáticos de Flask

En Flask, las páginas HTML se pueden representar mediante plantillas y archivos estáticos. Las plantillas permiten a los desarrolladores organizar las estructuras de las páginas de manera más flexible, mientras que los archivos estáticos permiten a los desarrolladores administrar archivos de recursos como CSS y JavaScript de manera más conveniente.

En Flask, las plantillas se pueden representar mediante la función render_template(). Esta función toma un nombre de archivo de plantilla como parámetro y devuelve una página HTML renderizada. Los archivos de plantilla generalmente se almacenan en el directorio de plantillas de la aplicación.

Aquí hay un ejemplo:

from flask import render_template

@app.route('/hello/<name>')
def hello(name):
    return render_template('hello.html', name=name)

En este ejemplo, se define una ruta /hola/<nombre> y la función de vista correspondiente es hola(). Esta función recibe un nombre de parámetro y luego representa un archivo de plantilla hello.html a través de la función render_template().

El contenido del archivo de plantilla hello.html es el siguiente:

<!DOCTYPE html>
<html>
<head>
    <title>Hello, {
   
   { name }}!</title>
</head>
<body>
    <h1>Hello, {
   
   { name }}!</h1>
</body>
</html>

En este archivo de plantilla, se utiliza la sintaxis de plantilla proporcionada por Flask. { { nombre }} representa el nombre de la variable que se representará, y Flask reemplazará automáticamente esta variable con los parámetros pasados ​​en la función de visualización.

Los archivos estáticos se refieren a archivos que no necesitan generarse dinámicamente, como CSS, JavaScript, imágenes, etc. En Flask, puede usar la función url_for() para generar direcciones URL para archivos estáticos. Los archivos estáticos generalmente se almacenan en el directorio estático de la aplicación.

Aquí hay un ejemplo:

htmlCopy code<!DOCTYPE html><html><head> <title>My Blog</title> <link rel="stylesheet" href="{
   
   { url_for('static', filename='css/style.css') }}"></head><body> <h1>Welcome to my blog!</h1> <p>This is my first blog post.</p> <img src="{
   
   { url_for('static', filename='img/logo.png') }}" alt="My Blog"> <script src="{
   
   { url_for('static', filename='js/main.js') }}"></script></body></html>

En este ejemplo, la función url_for() se usa para generar URL para archivos estáticos. Esta función recibe dos parámetros, el primer parámetro es static, que indica la dirección URL del archivo estático que se generará, y el segundo parámetro es filename, que indica el nombre del archivo estático que se generará.

Flask buscará automáticamente este archivo estático en el directorio estático de la aplicación y generará una dirección URL completa. Esta dirección URL se puede usar en etiquetas como enlace, img y script en páginas HTML.

El código de muestra para usar archivos estáticos en una aplicación es el siguiente:

from flask import Flask, url_for

app = Flask(__name__)

@app.route('/')
def index():
    return """
    <html>
    <head>
        <title>My Blog</title>
        <link rel="stylesheet" href="{0}">
    </head>
    <body>
        <h1>Welcome to my blog!</h1>
        <p>This is my first blog post.</p>
        <img src="{1}" alt="My Blog">
        <script src="{2}"></script>
    </body>
    </html>
    """.format(url_for('static', filename='css/style.css'), 
               url_for('static', filename='img/logo.png'),
               url_for('static', filename='js/main.js'))

En este ejemplo, se define una ruta / y la función de vista correspondiente es index(). Esta función devuelve una página HTML donde se utilizan archivos estáticos.

Resumir

Flask es un marco de aplicación web ligero que ayuda a los desarrolladores a crear rápidamente aplicaciones web. En Flask, puede usar componentes como rutas, funciones de visualización, plantillas y archivos estáticos para crear aplicaciones web.

Este artículo presenta los conceptos básicos de Flask, incluida la instalación y configuración del entorno de Flask, la escritura de la primera aplicación de Flask, el mecanismo de solicitud y respuesta de Flask, las funciones de visualización y enrutamiento de Flask, las plantillas y los archivos estáticos de Flask, etc. Espero ayudar a los principiantes.

おすすめ

転載: blog.csdn.net/wangonik_l/article/details/131727535