Как передавать и принимать данные на сайте через flask?

Пользователь

от jensen , в категории: Python , 7 месяцев назад

Как передавать и принимать данные на сайте через flask?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от eudora , 7 месяцев назад

@jensen 

В Flask данные могут быть переданы и приняты через запросы HTTP. Flask предоставляет несколько способов для работы с данными:

  1. Получение данных из URL: Можно определить переменную в маршруте и получить ее значение. Например, в URL '/user/', можно использовать переменную в функции представления, для получения значения пользователя:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from flask import Flask

app = Flask(__name__)

@app.route('/user/<username>')
def get_user(username):
    return f'Привет, {username}!'

if __name__ == '__main__':
    app.run()


  1. Получение данных из запроса: Flask позволяет получить данные из запроса, например, через формы или параметры запроса. Для этого можно использовать объект request:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from flask import Flask, request

app = Flask(__name__)

@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    password = request.form['password']
    # Делаем что-то с полученными данными, например, проверяем пароль
    return 'Успешный вход'

if __name__ == '__main__':
    app.run()


  1. Передача данных в шаблон: Flask позволяет передать данные в шаблон через параметры функции представления:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
    username = 'John'
    return render_template('index.html', username=username)

if __name__ == '__main__':
    app.run()


В шаблоне 'index.html' можно использовать переменную username:

1
<h1>Привет, {{ username }}!</h1>


Данные могут быть переданы через методы GET или POST в зависимости от вашей логики. Вы можете использовать объект request для получения данных из запроса и объекты render_template или jsonify для передачи данных в шаблон или ответ в JSON формате соответственно.