Inicio de sesión de frascos y sqlalchemy – Inicio de sesión de usuario, sistema de autenticación
Construir una aplicación con el sistema de inicio de sesión y autenticación del usuario es una función básica en la era actual Web 3.0. Aprenda usar el inicio de sesión de frascos
Basado en el usuario y orientado al cliente son súper populares en el modelo de negocio de hoy en día. Además de la Web 2.0, Web 3.0 enfatiza la descentralización y devuelve más autoridad de datos y administración de datos a los usuarios actuales. Por lo tanto, está surgiendo una tendencia de enfoque de centralización del usuario y sería más importante. Por lo tanto, con respecto a la construcción de una aplicación usando Flask, un sistema de inicio de sesión y autenticación de usuario es una función básica que debe tener. Hoy está en cómo aprovechar el gerente de inicio de sesión de frascos y construir uno en su aplicación.
Tabla de contenido: sistema de inicio de sesión de frasco
- Flask Inicio de sesión Instalación y configuración del Administrador
- Crear y configurar la base de datos de usuario utilizando SQLalchemy y Flask Login Usermixin
- registro de usuario
- Flask Login_user, logrout_user y current_user
- Login_required Decorator
- Script de Python completo del inicio de sesión y autenticación de la cuenta de usuario de Flask
- Preguntas más frecuentes
Flask Inicio de sesión Instalación y configuración del Administrador
Este módulo proporciona administración de sesión de usuario en la aplicación Flask. Maneja las tareas comunes de iniciar sesión, iniciar sesión y recordar las sesiones de sus usuarios durante períodos prolongados de tiempo.
Básicamente, el gerente de inicio de sesión de Flask puede permitirle hacer estas cosas a continuación:
- Almacene el ID de usuario activo en la sesión y permítale iniciar sesión fácilmente.
- Deje restringir las vistas a los usuarios de inicio de sesión (o registrado).
- Manejar la funcionalidad normalmente complicada de «Remember Me».
- Ayude a proteger las sesiones de sus usuarios de que los ladrones de galletas lo roben.
- Posiblemente integrarse con el frasco-minerario u otras extensiones de autorización.
First thing first, installing a flask login manager is super easy. We can input pip3 install flask-login
into your computer terminal. Then, configuring the flask login with your flask application is by doing the three steps:
1. Importar los módulos de inicio de sesión del frasco
2. Inicie la instancia de LoginManager y conéctese con su aplicación
3. Defina la función Load_user devolviendo el usuario_id
Crear y configurar la base de datos de usuario utilizando SQLalchemy y Flask Login Usermixin
No.1, necesitamos importar el módulo sqlalchemy y configurarlo con la aplicación Flask
En segundo lugar, cree un usuario de clase que se agregue la columna de datos necesaria y la especificación de cada columna de datos.
Por último, pero no menos importante, necesitamos crear una iniciativa de datos de datos SQLalchemy. En el terminal, podemos crear la iniciativa de la base de datos de Sqlalchemy. Utilice el nombre de la aplicación que creó en la aplicación Flask y el nombre de la variable que utilizó para conectarse con la aplicación Flask. Yo uso la aplicación y DB aquí.
registro de usuario
Ahora los ingredientes están listos para comenzar a construir una ruta de registro para que los nuevos usuarios se unan a su aplicación.
Lo primero es lo primero, una ruta es indispensable para que los usuarios se registren.
@app.route("/registration", methods=['GET', 'POST'])
Para obtener más detalles sobre la ruta del frasco y la recopilación de datos de envío de HTML, consulte este artículo
En segundo lugar, al referirnos a la clase de usuario que creamos anteriormente, necesitamos hacer coincidir los nuevos datos de entrada del usuario del formulario en la ruta de registro con nuestra columna de base de datos. Si su aplicación también tiene un programa API, aquí también debe agregar la variable token y decodificarla la entrada de contraseña del nuevo usuario.
new_user = User(email=email, username=username, password=generate_password_hash(password, method='sha256'), token=token.decode())
Then, we can add the new_user and utilize commit()
it to confirm it, and remember it by using the login_user function we created earlier.
Para obtener más detalles sobre la implementación de la API de Flask JWT, consulte este artículo
https://www.easy2digital.com/automation/data/python-tutorial-54-utilize-flask-jwt-to-tokenizer-the-api- user-identity-and-authenticate-users/
Flask Login_user, logrout_user y current_user
Después de la nueva creación de usuarios, Flask proporciona módulos para facilitar a los desarrolladores construir páginas de inicio de sesión, iniciar páginas, S y detectar el usuario registrado en los sitios.
Primero primero, necesitamos importar los módulos del Flask_Login. Hablaré de login_required en la siguiente sección.
Login_user
Para verificar la entrada de información de inicio de sesión del usuario en la página de inicio de sesión, podemos verificar si la contraseña del usuario en los datos de SQLalchemy puede coincidir con la entrada de contraseña por parte del visitante.
Using the query.filter_by
in the User class to match the email address first.
Luego, si la contraseña del usuario de correo electrónico obtenida coincide con el valor de entrada del formulario, ha iniciado sesión. Y Login_User puede recordar a este usuario en cualquier sesión más adelante antes de log_out.
Logrout_user
Creación de una nueva ruta para que los usuarios cierren sus cuentas
Usuario actual
Este es un módulo súper útil, ya que le dice a la aplicación quién está visitando la página. Si desea ofrecer contenido exclusivo para los miembros o diferenciar contenido entre usuarios desconocidos y usuarios de registro. Este módulo le facilita a implementar y desarrollar las funciones.
return render_template("shopify.html", user=current_user)
Para detectar a los usuarios existentes, necesitamos agregar el actual_user en el render_template de cada ruta o las rutas que desea mostrar contenido personalizado en la aplicación Flask.
Login_required Decorator
Para cualquier ruta que solo esté abierta a los miembros, debe agregar el decorador login_required debajo de la ruta. Tome la ruta de cierre de sesión, por ejemplo, si un usuario aún no ha iniciado sesión, no puede hacer clic en la página de cierre de sesión, y puede agregar un mensaje frasco para notificarlos primero.
@app.route("/logout")
@login_required
def logout():
logout_user()
return redirect(url_for('home'))
Script de Python completo del inicio de sesión y autenticación de Flask
If you are interested in the full python scripts of Chapter 57 – Build the User Account Login and Authentication System Using Flask, SQLAlchemy, please subscribe to our newsletter by adding the message “Chapter 57”. We would send you the script immediately to your mailbox.
Espero que disfrute leyendo el Capítulo 57: cree el sistema de inicio de sesión y autenticación de la cuenta de usuario con Flask, Sqlalchemy. Si lo hizo, por favor nos apoye haciendo una de las cosas enumeradas a continuación, porque siempre ayuda a nuestro canal.
- Support and donate to our channel through PayPal (paypal.me/Easy2digital)
- Subscribe to my channel and turn on the notification bell Easy2Digital Youtube channel.
- Follow and like my page Easy2Digital Facebook page
- Comparta el artículo en su red social con el hashtag #Easy2Digital
- Buy products with Easy2Digital 10% OFF Discount code (Easy2DigitalNewBuyers2021)
- Usted se registra en nuestro boletín semanal para recibir los últimos artículos, videos y códigos de descuento de Easy2Digital.
- Subscribe to our monthly membership through Patreon to enjoy exclusive benefits (www.patreon.com/louisludigital)
PREGUNTAS MÁS FRECUENTES:
P1: ¿Qué es Flask Sqlalchemy?
R: Flask Sqlalchemy es una biblioteca de Python que combina la simplicidad del frasco con el poder de Sqlalchemy, una popular herramienta de mapeo de objetos relacionales (ORM). Permite a los desarrolladores interactuar fácilmente con bases de datos utilizando el código Python.
P2: ¿Cuáles son las ventajas de usar Flask Sqlalchemy?
R: Flask Sqlalchemy ofrece varias ventajas. En primer lugar, proporciona una interfaz de alto nivel para trabajar con bases de datos, simplificando el proceso de operaciones de CRUD. Además, admite múltiples backends de bases de datos, lo que lo hace versátil. También se integra bien con Flask, lo que permite una integración perfecta con aplicaciones web.
P3: ¿Cómo instalo Flask Sqlalchemy?
A: To install Flask SQLAlchemy, you can use pip, the Python package installer. Simply run the command ‘pip install Flask-SQLAlchemy’ in your terminal or command prompt.
P4: ¿Se puede usar Flask Sqlalchemy con alguna base de datos?
R: Sí, Flask Sqlalchemy admite múltiples backends de bases de datos, incluidas opciones populares como SQLite, MySQL, PostgreSQL y Oracle. Esta flexibilidad le permite usar la base de datos que mejor se adapte a sus necesidades.
P5: ¿Flask Sqlalchemy es adecuado para aplicaciones a gran escala?
A: Yes, Flask SQLAlchemy is suitable for large-scale applications. It is designed to handle complex database operations efficiently and offers features like connection pooling and query optimization. However, it’s important to properly optimize your code and database queries to ensure optimal performance.
P6: ¿Flask Sqlalchemy admite la migración?
R: Sí, Flask Sqlalchemy proporciona soporte de migración a través de la Biblioteca Alembic. Alembic le permite administrar fácilmente los cambios de esquema de la base de datos y aplicarlos a su base de datos de producción sin pérdida de datos.
P7: ¿Flask Sqlalchemy es compatible con las extensiones de matraz?
R: Sí, Flask Sqlalchemy es compatible con varias extensiones de matraz. Se integra a la perfección con Flask-WTF para el manejo de formularios, el frasco para la autenticación del usuario y el frasco para interfaces de administración, entre otras.
P8: ¿Puede Flask Sqlalchemy manejar consultas complejas?
R: Sí, Flask Sqlalchemy proporciona una poderosa API de consulta que le permite construir consultas complejas con código Python. Admite filtrar, clasificar, unir múltiples tablas y agregar datos.
P9: ¿Flask Sqlalchemy es adecuado para principiantes?
R: Flask SQLalchemy puede ser utilizado por principiantes, pero requiere cierta comprensión de los conceptos de SQL y la base de datos. Se recomienda tener una comprensión básica de Python y bases de datos antes de sumergirse en Flask Sqlalchemy.
P10: ¿Hay alguna alternativa a Flask Sqlalchemy?
R: Sí, hay bibliotecas ORM alternativas disponibles para frascos, como Pony Orm y Peewee. Sin embargo, Flask Sqlalchemy es ampliamente utilizado y bien documentada, por lo que es una opción popular para muchos desarrolladores.