2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Vanhat yleisesti käytetyt puitteet: django (tukee asynkronista 3.0:n jälkeen), flask (tukee asynkronista 2.0:n jälkeen), tornado (asynkroninen), twisted (asynkroninen)
Uudet yleisesti käytetyt puitteet: FastAPI, sanic, django4.0 (nykyinen versio on muuttamassa synkronisesta asynkroniseksi), flask2.0 (nykyinen versio on muuttamassa synkronisesta asynkroniseen)
Sanic: https://sanicframework.org/zh/guide/
FastAPI: https://fastapi.tiangolo.com/zh/tutorial/first-steps/
Flask syntyi vuonna 2010. Se on kevyt web-kehityskehys, jonka Armin Ronacher on kirjoittanut Python-kielellä, joka perustuu Werkzeug-työkalupakettiin.
Flask itsessään vastaa ydintä, ja lähes kaikki muut toiminnot vaativat laajennuksia (sähköpostipääte Flask-Mail, käyttäjän todennus Flask-Login, tietokanta Flask-SQLAlchemy), jotka kaikki on toteutettava kolmannen osapuolen laajennuksilla. Voit esimerkiksi käyttää Flask-laajennusta ORM:n lisäämiseen, lomakkeiden vahvistustyökaluihin, tiedostojen lataamiseen, henkilöllisyyden vahvistamiseen jne. Flask ei käytä oletustietokantaa. Voit valita MySQL:n tai NoSQL:n.
Flaskin WSGI-työkalupakki käyttää Werkzeugia (reititysmoduuli) ja mallimoottori Jinja2:ta. Sen vaaralliset (tokenin salausmoduuli), Click (päätekomentojen hallintatyökalu) ja itse pulloydin, nämä viisi ydinmoduulia muodostavat Flask-kehyksen.
Virallinen verkkosivusto: https://flask.palletsprojects.com/en/2.0.x/
Virallinen dokumentaatio: https://dormousehole.readthedocs.io/en/latest/index.html
Yleisesti käytetyt kolmannen osapuolen laajennuspaketit Flaskille:
Voit tarkastella lisää flaskin virallisesti suosittelemia laajennuksia osoitteessa https://pypi.org/search/?c=Framework+%3A%3A+Flask
# anaconda创建虚拟环境
conda create -n flask python=3.9
# 进入/切换到指定名称的虚拟环境,如果不带任何参数,则默认回到全局环境base中。
# conda activate <虚拟环境名称>
conda activate flask
# 退出当前虚拟环境
conda deactivate
Asenna pullo käyttämällä seuraavaa komentoa:
pip install flask -i https://pypi.douban.com/simple
Toisin kuin Django, Flask ei tarjoa automaattisia toimintoja, joten sinun on luotava manuaalisesti projektihakemisto ja hallintatiedosto projektin käynnistämiseksi.
Luo esimerkiksi projektihakemisto flaskdemo ja luo hakemistoon manager.py. Avaa projekti pycharmissa ja määritä yllä luotu virtuaaliympäristö
Luo aloitustiedosto pullokehykselle.Nimi voi ollaapp.py/run.py/main.py/index.py/manage.py/start.py
manager.py, koodi:
# 1. 导入flask核心类
from flask import Flask
# 2. 初始化web应用程序的实例对象
app = Flask(__name__)
# 4. 可以通过实例对象app提供的route路由装饰器,绑定视图与uri地址的关系
@app.route("/")
def index():
# 5. 默认flask支持函数式视图,视图的函数名不能重复,否则报错!!!
# 视图的返回值将被flask包装成响应对象的HTML文档内容,返回给客户端。
return "<h1>hello flask</h1>"
if __name__ == '__main__':
# 3. 运行flask提供的测试web服务器程序
app.run(host="0.0.0.0", port=5000, debug=True)
Koodianalyysi:
# 导入Flask类
from flask import Flask
"""
Flask类的实例化参数:
import_name Flask程序所在的包(模块),传 __name__ 就可以
其可以决定 Flask 在访问静态文件时查找的路径
static_path 静态文件存储访问路径(不推荐使用,使用 static_url_path 代替)
static_url_path 静态文件的url访问路径,可以不传,默认为:/ + static_folder
static_folder 静态文件存储的文件夹,可以不传,默认为 static
template_folder 模板文件存储的文件夹,可以不传,默认为 templates
"""
app = Flask(__name__)
# 编写路由视图
# flask的路由是通过给视图添加装饰器的方式进行编写的。当然也可以分离到另一个文件中。
# flask的视图函数,flask中默认允许通过return返回html格式数据给客户端。
@app.route('/')
def index():
# 返回值如果是字符串,被自动作为参数传递给response对象进行实例化返回客户端
return "<h1>hello flask</h1>"
# 指定服务器IP和端口
if __name__ == '__main__':
# 运行flask
app.run(host="0.0.0.0", port=5000, debug=True)