Introducción al matraz e introducción básica.

1. Comprender el marco

Como marco web, Flask se utiliza principalmente para desarrollar aplicaciones web. Así que primero entendamos la aplicación web. El propósito original del nacimiento del programa de aplicación Web (World Wide Web) es utilizar Internet para intercambiar documentos de trabajo.

inserte la descripción de la imagen aquí

1. Todo comienza desde que el cliente inicia una solicitud.

Todos los programas de Flask deben crear una instancia de programa.

Cuando un cliente quiere obtener un recurso, generalmente inicia una solicitud HTTP a través del navegador.

En este momento, el servidor web utiliza un protocolo WSGI (Interfaz de puerta de enlace del servidor web) llamado Interfaz de puerta de enlace del servidor WEB para pasar todas las solicitudes del cliente a la instancia del programa Flask.

Flask usa Werkzeug para la distribución de enrutamiento (la correspondencia entre las solicitudes de URL y las funciones de vista). De acuerdo con cada solicitud de URL, encuentre la función de vista específica.

En un programa Flask, el enrutamiento generalmente se implementa a través del decorador de la instancia del programa. Después de obtener los datos llamando a la función de vista, los datos se pasan al archivo de plantilla HTML. El motor de plantilla es responsable de representar los datos de respuesta HTTP, luego Flask devuelve los datos de respuesta al navegador y, finalmente, el navegador muestra el resultado devuelto.

2. El cliente no es necesariamente un navegador, sino que también puede ser software de PC, aplicación móvil, programa

Según el trabajo del lado del servidor, se divide en dos partes:

Servidor: comunicarse con el cliente a través de tcp, recibir, analizar, empaquetar y enviar datos en formato http

Programa empresarial: realice un procesamiento lógico de acuerdo con los datos de solicitud analizados, forme los datos que se devolverán y envíelos al servidor

La cooperación entre el servidor y el programa empresarial Python utiliza el protocolo WSGI.

1.3 El peso del marco

Marco pesado: para facilitar el desarrollo de programas de negocios, proporciona una gran cantidad de herramientas y componentes, como Django.

Marco ligero: solo proporciona las funciones principales del marco web, gratuito, flexible y altamente personalizable, como Flask, Tornado

dos, saber frasco

1. Introducción

Flask nació en 2010. Es un marco de desarrollo web ligero escrito por Armin ronacher (nombre) en lenguaje Python basado en la caja de herramientas Werkzeug. Es principalmente para aplicaciones pequeñas con requisitos simples.

Flask en sí mismo es equivalente a un kernel, y casi todas las demás funciones necesitan extensiones (extensión de correo Flask-Mail, autenticación de usuario Flask-Login), que deben implementarse mediante extensiones de terceros. Por ejemplo, puede usar Flask-extension para agregar ORM, herramientas de verificación de formularios, carga de archivos, verificación de identidad, etc. Flask no tiene una base de datos predeterminada, puede elegir MySQL o NoSQL. Su kit de herramientas WSGI usa Werkzeug (módulo de enrutamiento) y su motor de plantillas usa Jinja2.

Se puede decir que el núcleo del marco Flask es Werkzeug y Jinja2.

El framework más famoso para Python es Django, además de Flask, Tornado y otros frameworks. Aunque Flask no es el marco más famoso, Flask debe considerarse como uno de los marcos más flexibles, razón por la cual los desarrolladores adoran Flask.

inserte la descripción de la imagen aquí

2. Comparado con Django

Django proporciona:

django-admin crea rápidamente el directorio del proyecto del proyecto

manage.py gestionar la ingeniería de proyectos

modelo orm (capa de abstracción de base de datos)

administrador del sitio de administración de antecedentes

mecanismo de almacenamiento en caché

sistema de almacenamiento de archivos

Sistema de autenticación de usuarios

Y estos, el matraz no tiene, todos necesitan un paquete de extensión para proporcionar

3. Paquete de extensión de matraz

Flask-SQLalchemy: operar la base de datos;

Flask-migrate: administra la base de datos de migración;

Flask-Mail: correo;

Frasco-WTF: forma;

Flask-script: insertar script;

Flask-Login: estado de usuario autenticado;

Flask-RESTful: una herramienta para desarrollar API REST;

Flask-Bootstrap: marco integrado de Twitter Bootstrap de front-end;

Flask-Moment: localizar fecha y hora;

3. Instalar y usar Flask

1. Instale el matraz

pip3 install flask

2. El primer programa Flask

Proceso de ejecución del programa Flask:

Todos los programas de Flask deben tener una instancia de programa.

Después de que Flask llame a la función de vista, devolverá el valor de retorno de la función de vista como el contenido de la respuesta al cliente. En general, el contenido de la respuesta son principalmente cadenas y códigos de estado.

Cuando un cliente quiere obtener un recurso, generalmente inicia una solicitud HTTP a través del navegador. En este punto, el servidor web utiliza el protocolo WSGI (Web Server Gateway Interface) para pasar todas las solicitudes del cliente a la instancia del programa Flask. WSGI es una interfaz simple y general entre un servidor web y una aplicación web definida para el lenguaje Python. Encapsula estos códigos y operaciones subyacentes para recibir solicitudes HTTP, analizar solicitudes HTTP, enviar respuestas HTTP, etc., para que los desarrolladores puedan escribir de manera eficiente. aplicaciones web.

La instancia del programa utiliza Werkzeug para la distribución de enrutamiento (la correspondencia entre las solicitudes de URL y las funciones de vista). De acuerdo con cada solicitud de URL, encuentre la función de vista específica. En un programa Flask, el enrutamiento generalmente se implementa a través del decorador de rutas de la instancia del programa. El método add_url_route() se llama dentro del decorador de rutas para implementar el registro de rutas.

Llame a la función de vista, obtenga los datos de respuesta y pase los datos al archivo de plantilla HTML. El motor de plantilla es responsable de representar los datos de respuesta, y luego Flask devuelve los datos de respuesta al navegador. Finalmente, el navegador procesa el resultado devuelto. y se lo muestra al cliente.

Cree un proyecto de matraz, luego cree el archivo app.py.

# 导入Flask类
from flask import Flask

#Flask类接收一个参数__name__
app = Flask(__name__)

# 装饰器的作用是将路由映射到视图函数index
@app.route('/')
def index():
    return 'Hello World'

# Flask应用程序实例的run方法启动WEB服务器
if __name__ == '__main__':
    app.run()

Inicie el proyecto y visítelo en el navegador. En este momento, habrá Hello World en la página.

3. Flask crea un objeto de aplicación

3.1 Parámetros de inicialización

# 创建flask的应用对象;
# __name__   flask以这个模块所在的目录为总目录,默认这个目录中static为静态目录,templates为模板目录
app = Flask(__name__,
            static_url_path='/static',      # 访问静态资源的url前缀,默认为static
            static_folder='static',         # 静态文件的目录,默认为static
            template_folder='templates',    # 模板文件的目录,默认为templates
            )

3.2 Parámetros de configuración

# 配置参数的使用方式(开启调试模式)
# 1.使用配置文件
app.config.from_pyfile("config.cfg")    # 在项目下创建一个config.cfg文件,然后在里面写DEBUG=True

# 2.使用对象配置参数
class Config(object):
     DEBUG = True
app.config.from_object(Config)

# 3.直接操作config的字典对象
app.config["DEBUG"] = True

3.3 Leer parámetros de configuración en la vista

# 2.使用对象配置参数
# class Config(object):
#     DEBUG = True
#     NAME = "test"
# app.config.from_object(Config)

from flask import Flask, current_app

    # 读取配置参数
    # 1.直接从全局对象app的config字典中取值
    # print(app.config.get("NAME"))
    # 2. 通过current_app获取参数
    # print(current_app.config.get("NAME"))

3.4 Parámetros de app.run

# 启动Flask程序
app.run()   # 默认127.0.0.1
# app.run(host="192.168.1.1", port=5000)   # 使用电脑ip
# app.run(host="0.0.0.0", port=5000, debug=True)  # 配置host和port。设置0.0.0.0时都可以访问;可以在这里设置调试模式

Supongo que te gusta

Origin blog.csdn.net/weixin_44816664/article/details/132044411
Recomendado
Clasificación