Django、Flask、Tornado的比較
一:經常使用請求參數的接收
- Django中:
request.GET/POST
- Tornado中:
self.get_query_argument()/get_query_arguments()
self.get_body_argument()/get_body_arguments()
self.get_argument()/get_arguments()
- Flask中:
request.args.get('key')
request.form.get(;key')
二:經常使用請求方式的區分
- Django中:
經過request.method == "GET" / "POST"
進行視圖函數中不一樣請求方式的處理區分
一樣能夠經過裝飾器註解方式:@require_POST @require_GET
方式指定視圖函數只能接收那種請求方式
- Tornado中:
能夠經過直接重寫父類RequestHandler中
的get/post/..
的請求處理方法來實現不一樣的請求方式的區分
- Flask中:
經過路由裝飾器註解的methods屬性來指定視圖處理函數能夠接收那種請求方式
@app.route("/", methods=["get", "post"..])
三:靜態文件和網頁模板的處理
- Django中:
子模塊應用:templates/默認保存網頁模板;static/默認保存靜態資源;不須要配置
根項目:settings.py中經過TEMPLATES>DIRS配置網頁模板文件夾,經過STATICFILES_DIRS配置靜態資源文件夾
- Tornado中:
經過tornado.web.Application中的配置選項
template_path配置網頁模板文件夾位置,static_path配置靜態資源文件夾位置
- Flask中:
默認templates/中保存網頁模板;static/中保存靜態資源,不須要配置
四:模板語法操做:
- Django中:
默認使用本身的模板語法:Django Template Language:DTL語法
- Tornado中:
默認使用jinja模板語法:~通過必定改造的模板語法
- Flask中: 默認使用第三方的jinja2模板語法,是在DTL語法的基礎上完善的一種專門給python使用的模板語法
歡迎關注本站公眾號,獲取更多信息