优点:组件非常全,教科书式的框架
缺点:资源浪费,因为组件多,大,还是相互关联的,随便卸载组件,可能会导致出现一些小问题
优点:扩展性强,精简小,简单
缺点:稳定性较差,第三方组件新版本兼容性
优点:异步io,非阻塞,原生WebSocket
缺点:全部手写,很麻烦
优点:异步框架,结合了Torando和Flask的所有优点
缺点:复杂程度比较高,不太容易上手
1 from flask import Flask 2 3 app = Flask(__name__) 4 5 app.run()
1 from flask import Flask 2 3 app = Flask(__name__) 4 5 app.route("/") 6 def index(): 7 return "hello,Flask" 8 9 10 app.run()
request.args ---->> 接受的是url中的参数,获取到的是一个字典
request.form ---->> 接受的是formdata 获取到的是一个字典
request.files ----->> 接受的文件 接受到之后要记得保存(save(带名参数的地址))
request.data ----->> 存放的是请求体中的原始信息
request.json ---->>请求头中存在的Content-type:application/json 请求体中的数据存放在session中
return " hell" 返回的是一个字符串
return render_template("login.html) 返回的是一个模版
return redirect("/) 返回的是一个链接地址
return send_file("文件名字) 打开并且返回内容,自动识别文件类型,并且加入到Content-type:文件类型
return jsonify(一般是字典) 返回标准格式的json字符串
{{}} 引用 执行 非逻辑代码
{%%} 逻辑代码,引用变量
Markup 安全字符串
@app.template_global() 全局函数
{% macro func() %}
? {% endmacro %}
将session这个字典,通过secret_key 序列化 存放在浏览器中的cokies中
methods = [] #列表中写的是请求方式
endpoint = 反向地址字符串 默认值试图函数名 获取的时候 url_for()
srrict_slashes 是否严格遵循路由地址结尾 "/"
defaults = {"nid":1} 默认值参数
redicret_to = "一个地址" #返回的状态码是301 永久重定向
template_forder = "存放模版文件的文件夹名" #指定模版存放默认路径 默认值:templates
static_forder = " " #指定静态文件存放的路径
static_url_path = " " #指定静态文件的访问路径
static_host = "" # 远程静态文件存放服务器
什么是蓝图: Blueprint 一个不能够被run的Flask实例
创建一个蓝图:
1 from flask import Blueprint 2 3 4 user = Blueprint("user",__name__,template_foeder="模版地址",url_prefix="访问地址的前缀") 5 6 @user.route("/") 7 def index(): 8 pass
蓝图的注册:
import 蓝图的名字
app.register_blueprint(蓝图的名字)
重定义错误信息:
@app.errorhandler(404):
def error(a):
return "你要返回的页面或者...."
@app.before_request: #请求进入函数之前 进入此函数
def be1():
你要执行的操作
return
@app.after_request: #响应返回客户端之前 请求函数结束之后
def af1():
你要执行的操作
return
1 from flask import viesw 2 3 class Login(views.MethodView): 4 5 def get(): 6 pass 7 def post(): 8 pass 9 10 11 app.add_url_rule("/login",endpoint=None,view_func=Login.as_view(name="login))
原文:https://www.cnblogs.com/xinjie123/p/10588027.html