🌶️ Что такое Flask Python? Подробное руководство для новичков в 2021 году 🐍
Flask - это лёгкий веб-фреймворк на языке Python, который используется для разработки веб-приложений.
Вот пример простого веб-приложения, использующего Flask:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Привет, мир!'
if __name__ == '__main__':
app.run()
В этом примере мы создаём объект класса Flask, определяем маршрут для главной страницы и возвращаем простой текст "Привет, мир!". При запуске приложения с помощью метода app.run(), Flask будет слушать запросы на локальном сервере.
Детальный ответ
Flask Python: Что это?
Flask - это фреймворк веб-приложения, написанный на языке программирования Python. Он предоставляет простой и легковесный подход к созданию веб-приложений с использованием Python.
Для начала работы с Flask необходимо установить его с помощью пакетного менеджера Python, такого как pip. Затем вы можете создать новое Flask-приложение с помощью следующего кода:
# Импортирование необходимых модулей
from flask import Flask
# Создание экземпляра приложения Flask
app = Flask(__name__)
# Определение маршрута и функции-обработчика
@app.route('/')
def hello():
return 'Привет, мир!'
# Запуск сервера разработки Flask
if __name__ == '__main__':
app.run()
В приведенном выше коде мы создаем экземпляр приложения Flask с помощью Flask(__name__) и определяем один маршрут ('/') и связанную с ним функцию-обработчик hello(). Когда пользователь обращается к корневому URL, он получает ответ "Привет, мир!".
Flask предлагает широкий выбор функций и возможностей для разработки веб-приложений. Вы можете создавать маршруты с динамическими параметрами, обрабатывать формы, работать с базами данных и многое другое. Вот несколько примеров функциональности Flask:
1. Создание маршрутов
Маршруты определяют, как Flask обрабатывает запросы. Вы можете создавать маршруты для конкретных URL-адресов и связывать соответствующие функции-обработчики.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Главная страница'
@app.route('/about')
def about():
return 'О нас'
if __name__ == '__main__':
app.run()
В приведенном выше примере мы создаем два маршрута: '/' для главной страницы и '/about' для страницы "О нас". Когда пользователь обращается к соответствующему URL-адресу, он получает соответствующий текстовый ответ.
2. Передача параметров в маршрутах
Вы можете передавать динамические параметры в маршрутах, чтобы сделать их более гибкими. Параметры указываются в угловых скобках в маршруте и передаются в функцию-обработчик в качестве аргументов.
from flask import Flask
app = Flask(__name__)
@app.route('/user/')
def profile(username):
return f'Профиль пользователя: {username}'
if __name__ == '__main__':
app.run()
В приведенном выше примере мы создаем маршрут '/user/<username>', в котором <username> является динамическим параметром. При обращении к этому URL-адресу, будет вызвана функция-обработчик profile(), которая выводит профиль пользователя с указанным именем.
3. Работа с формами
Flask предоставляет возможности для обработки отправленных форм. Вы можете получать данные из формы и выполнять соответствующие действия.
from flask import Flask, request
app = Flask(__name__)
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
# Проверка имени пользователя и пароля
# Предположим, у нас есть функция validate_credentials()
if validate_credentials(username, password):
return 'Успешная аутентификация'
else:
return 'Неправильные учетные данные'
else:
return '''
'''
if __name__ == '__main__':
app.run()
В приведенном выше примере мы создаем маршрут '/login', который поддерживает как GET, так и POST запросы. Если запрос является POST-запросом, мы получаем значения полей формы (имя пользователя и пароль) с помощью request.form и выполняем аутентификацию. Если запрос является GET-запросом, мы возвращаем HTML-форму для входа.
4. Работа с базами данных
Flask позволяет взаимодействовать с различными системами управления базами данных (СУБД), такими как SQLite, MySQL, PostgreSQL и другими. Вы можете создавать модели данных, выполнять CRUD-операции и многое другое.
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return f''
@app.route('/users')
def users():
users = User.query.all()
return '
'.join([user.username for user in users])
if __name__ == '__main__':
app.run()
В приведенном выше примере мы используем расширение Flask SQLAlchemy для работы с базой данных SQLite. Мы создаем модель данных User, которая представляет собой таблицу с полями id, username и email. Затем мы создаем маршрут '/users', который выводит список всех пользователей из базы данных.
Заключение
В этой статье был рассмотрен Flask - легкий и гибкий фреймворк веб-приложений на языке Python. Мы изучили основные возможности Flask, такие как создание маршрутов, передача параметров, работа с формами и базами данных. Вы можете использовать Flask для разработки различных веб-приложений, начиная от простых сайтов до более сложных проектов.