flask与djiango区别

首先:

Django 是一个重量级的框架,Flask是一个轻量型的框架;

更多Django教程,可以参考这份指南:《一个完整的Django入门指南》系列教程(中文版)

那么Django框架他到底重在哪呢?

对比Flask框架,Django原生提供了众多的功能组件,让开发更简便快速。

提供项目工程管理的自动化脚本工具

数据库ORM支持(对象关系映射,英语:Object Relational Mapping)

模板

表单

Admin管理站点

文件管理

认证权限

session机制

缓存

Django是用python语言写的开源web开发框架,并遵循MVC设计;

Flask框架轻在哪呢?

Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。

其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。这两个也是 Flask 框架的核心;

Flask 和 Django 路由映射的区别:

1.在Django 中, 路由是浏览器访问服务器时,先访问的项目中的url, 再由项目中的url找到应用中url, 然后找到我们的视图函数; 视图函数然后直接或者间接的继承了Django提供的父类View,配置路由时,使用类视图的as_view()方法来添加;

urlpatterns = [
    # 视图函数:注册
    # url(r'^register/$', views.register, name='register'),
    # 类视图:注册
    url(r'^register/$', views.RegisterView.as_view(), name='register'),
]

通过View函数中 dispath方法来进行判断请求的是GET 还是POST等;

2.  在Flask 中,路由是通过装饰器给每个视图函数提供的, 而且根据请求方式的不同可以一个 url 用于不同的作用。

来源:PY学习网:原文地址:https://www.py.cn/article.html

来源:PY学习网:原文地址:https://www.py.cn/article.html