django和flask区别及简单使用

Django 原生组件非常丰富 - 教科书式框架
Django.Model - ORM
Django.Form
Django.ModelForm
Django.Session Model
Admin CsrfToken
Django 加载项巨大 资源浪费
Flask Web框架 -
Flask 非常短小精悍 - 精简到只有一个 Session
Flask 第三方组件 非常全
Flask 第三方组件 - 运行稳定性相对较差
羽绒服 半截袖
Django 适合大型 密集型
Flask 适合小型 API服务类项目
1.Flask Web框架 + HelloWorld
pip install Flask - 1.1.1
Flask Flask库文件
Jinja2 模板渲染库
MarkupSafe 返回安全标签 只要Flask 返回模板或者标签时都会依赖MarkupSafe
Werkzeug 德文“工具” == uWSGI 底层是 WSGI Flask项目启动都是基于Werkzeug
应用Flask
# 三行启动Flask 提供服务
# from flask import Flask
# app = Flask(__name__)
# app.run()
# 六行启动Flask 提供HelloWorld
from flask import Flask # 导入Flask 类创建Flask应用对象
app = Flask(__name__) # app = application
@app.route("/index") # 为 Flask 应用对象增加路由
def index(): # 与路由绑定的视图函数 视图函数名尽可能保持唯一
return "HelloWorld" # “” 相当于 Django 中的 HttpResponse
if __name__ == '__main__': # 当前文件处于脚本状态时运行如下代码
app.run() # 启动Flask 应用
模板设置

 

 2.Flask 中的 Response

   1.HTTPResponse("HelloWorld")       "HelloWorld"
2.render("html文件") render_template("HTML文件") # 默认存放路径是"templates"
3.redirect("/home") redirect("/home")
# 302 HTTP status
# 4xx 错误 客户端
# 5xx 错误 服务器
ResponseHeaders 中加入了一个 Localtion:http://url
# Flask 特殊返回值
4.send_file("文件路径") 返回文件
# 打开并返回文件内容 自动识别文件类型 在ResponseHeaders中加入
# Content-Type:文件类型 - *文件类型 是可以被客户端识别的文件类型
# 不能识别的类型 下载处理 - 浏览器会下载
###### x-ms x二进制 ms微软 wma文件
5.jsonify("字符串或数据类型") 返回标准格式的JSON字符串
# Content-Type:application/json == 标准格式
# Flask 1.1.1
# return d # 暂时不建议使用 兼容性
# 直接返回dict时 本质上在执行jsonify(d)
# API 接口 AJAX.post({username:123}){
function(data){ obj = data }}
# 1.打包JSON 序列化JSON字符串
# 2.编写ResponseHeaders 加入 Content-Type:application/json
# 利用 Flask 做一个登录 username password
# request?
3.Flask 中的 Request
methods=["GET","POST"] 在添加路由的装饰器中允许请求方式,覆盖
1.request.form 获取FormData中的数据 to_dict() ImmutableMultiDict
2.request.method 获取请求方式
3.request.args # 获取URL中的数据 字符串 get("key") to_dict()
4.
f-orm 表 ORM
from

猜你喜欢

转载自www.cnblogs.com/zhang-da/p/13170009.html