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使用的模板语法
未完待续......

(欢迎加入Python交流群:930353061。人生苦短,我用python!!!)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容