Раскройте свой потенциал веб-разработки с помощью Flask

Flask — это, по сути, микро-, небольшая или легкая веб-инфраструктура, написанная на языке программирования Python. Flask классифицируется как микрофреймворк, потому что он не требует специальных инструментов или библиотек.

1. Простое приложение

from flask import Flask
app = Flask(__name__)
@app.route(‘/hello’)
def hello():
    return ‘Hello, World!’
if __name__ == ‘__main__’:
app.run(debug=True)

2. Конфигурация

#direct access to config
app.config[‘CONFIG_NAME’] = ‘config value’
#import from an exported environment
app.config.from_envvar('ENV_VAR_NAME')

3. Маршрутизация

@app.route('/hello/<string:name>') # example.com/hello/Fuzzy
def hello(name):
    return 'Hello ' + name + '!' # returns hello Fuzzy!

4. Разрешенные методы запроса

@app.route(‘/test’) #default. only accepts GET requests.
@app.route(‘/test’, methods=[‘GET’, ‘POST’]) #accepts only GET and POST requests.
@app.route(‘/test’, methods=[‘PUT’]) #accepts only PUT requests.

5. Шаблоны

from flask import render_template
@app.route('/')
def index():
    return render_template('template_file_name.html', var1=value1, ...)

6. JSON-ответы

import jsonify
@app.route('/returnstuff')
def returnstuff():
    num_list = [1,2,3,4,5]
    num_dict = {'numbers' : num_list, 'name' : 'Numbers'}
    #returns {'output' : {'numbers' : [1,2,3,4,5], 'name' : 'Numbers'}}
    return jsonify({'output' : num_dict})

7. Доступ к данным запроса

request.args[‘name’] #get data from query string arguments
request.form[‘name’] #get data form
request.method #request type
request.cookies.get(‘cookie_name’) #cookies
request.files[‘name’] #files

8. Перенаправления

from flask import url_for, redirect
 
@app.route('/home')
def index():
    return render_template('home.html') 
@app.route('/redirect')
def redirect_example():
    return redirect(url_for('index')) #sends user to /home

9. Прервать

from flask import abort()
@app.route(‘/’)
def index():
    abort(404) #returns 404 error
    render_template(‘index.html’) #this never gets executed

10. Установить куки

from flask import make_response
@app.route('/')
def index():
    res = make_response(render_template('index.html'))
    res.set_cookie('cookie_name', 'cookie_value')
    return res

11. Обработка сеанса

import session
app.config['SECRET_KEY'] = 'any secure random string' #must be set to use sessions.
#set session
@app.route('/login_success')
def login_success():
    session['key_name'] = 'key_value' #stores a secure cookie in the browser.
    return redirect(url_for('index'))
#read session
@app.route('/')
def index():
    if 'key_name' in session: #session exists and has key
        session_var = session['key_value']
    else: #session does not exist

И вот оно. Чтобы узнать больше о программировании на Python, ознакомьтесь с книгами, перечисленными ниже.

  1. Программирование на Python для начинающих
  2. Программирование на Питоне

Если вам понравилась эта история, не стесняйтесь подписываться на меня и аплодировать, чтобы появилось больше подобных историй.

Удачного кодирования!!!

Больше контента на plainenglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Получите эксклюзивный доступ к возможностям написания и советам в нашем сообществе Discord.