请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行

请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行,第1张

DjangoDjango是基于中间件的一个大型框架。框架本身的内容相当丰富,基础部分:模版引擎、ORM、表单、路由分发这些标配,还有不少的中间件:登陆、后台管理,这些还是官方中间件,另外还有不少的第三方中间件。关于第三方的我没有详细研究过,质量不太好评论。还有由ROR带起的基于命令的Web开发方式和扩展、还有内建的数据库迁移,基本上你呢想到的Django都有。可以说Django和Python相当匹配,前者是Web开发的万金油,后者是开发领域的万金油。另外Django这个框架本身还有一个专门的基金会,这个基金会是由Django的母公司成立的,估计有不少用这个框架的公司也对期捐助过。框架本身相当活跃,每隔大概8个月就有一个大版本。社区也是相当活跃,官方的Community、非官方(StackOverflow)和IRC(据说IRC是比任何一个开源项目都要活跃)基本上你碰到的问题大家都会有解决或者Workout方案。FlaskFLASK框架本身只包含路由分发,请求和响应的封装和插件系统,在加上作者自己的Werkzeug(处理WSGI)、jinja2(模板引擎)和Flask-SQLAlchemy扩展(Model层),这几个同一个作者的项目构成一个完整的MVC框架。对于Flask本身,一个微框架,这已经足够了,而且它也只能提供这么多。如果你需要表单处理,请安装Flask-WTF;如果你需要基于命令的开发模式,请安装Flask-Script和Flask-CLI(这是一个Flask10的backport模块);如果你要登陆验证,请装Flask-Login;如果你要后台管理,请装Flask-Admin。什么?!你全部都要?请装Django。对Flask就是这么一个框架。这是一个典型的社区项目,作者在实现了一个牛X的核心以后,就撒手交给社区。各个插件的文档分散(虽然Flask曾经出了一本书,试图打通各个插件和Flask关系,但是当需要真正使用的时候,查文档还是需要在不同的ChromeTab里面切换),而且社区插件的质量、支持和活跃度也需要话很大的力气去确认。Flask这个项目毫无疑问是优秀的:完善的官方文档,详细的教程()还有一个牛X的作者作为光环加持(这里可以看到作者有不少应用广泛的项目)。但是和Django完全不在一个应用层面,我会在下一段作出比较和说明。而且Flask这个项目基本已经处于沉睡期,最新的版本0101是2013年发布的,项目的代码仓库也是比较低的活跃度(大概是一个月10次左右的Commit和PR),10的发布从2014年到2016年一直说要发布,一直没有出来。各个插件更新也是停留在2015年中。和Django比较活跃度确实令人捉急。Flask和Django的应用场景鉴于Flask和Django的特点,如果你是开发一个RESTAPI的系统,没有复杂的分层和逻辑的话,Flask会是一个不错的选择,因为框架内建的功能已经足够你完成这个任务;又或者,你是打算实现一个大型的系统,需要自己重新实现大部分插件的内容,Flask也还是不错,因为它足够的简单,能让你快速的读懂和扩展。其他的情况我还是推荐你用回Django。尤其是当你需要安装大量的Flask插件,去实现Django本来就有的功能时,你就应该意识到你需要放弃Flask。当然这只是个人的看法,也没有绝对这一说,主要还是看你想在框架上花费多少的时间。

Django教程——01安装使用

在上面一篇文章里,介绍了安装Django的方法,这里说说连接数据库吧

这篇主要介绍踩的坑和解决办法

正常连接和初始化数据库的命令是

执行这个命令的时候,出现了如下报错

经过一段排查,是我配置数据库的时候,多嵌套了一层default,修改为如下即可

然后继续执行migrate时,会报如下错误

本机环境是mac电脑,按官方教程 *** 作的时候,发现安装mysqlclient的python包会依赖本机安装mysql或者mysql-client,但在装mysql和mysql-client的时候,发现一直报错。后面发现解决办法是,在settingspy文件里,加下如下代码,即改用pymsql连接即可。

或者在settingspy同目录的__init__py里加如上代码也可以

然后再执行python managepy migrate命令会发现表顺利创建。新增表,不影响原有库的其他表。

我没环境,不方便帮你写代码,但可以告诉你思路:

你想用ajax方式查数据,第一步,你已经获取到了输入表单的的值,这很好。

第二步,你需要添加一个查询接口路由,和view,用来返回查询到后数据。

第三步,让前端js代码,用ajax的方式,请求你添加的查询路由地址,带上参数。

第四步,在路由对应的view代码中,获取通过url请求传过来的参数。

第五步,在view代码中,对参数进行检查,通过后,调用数据查询方法,获取结果集。

第六步,在view代码中,将结果集转为json(一般是json),返回。

第七步,ajax在收到返回结果后,将数据显示在网页中。

第八步,调整数据显示的样式,使之美观一点。

如有不明可以追问,或私信留言。

以上就是关于请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行全部的内容,包括:请请问Django与Flask这两种PythonWeb框架,哪一个国内更流行、Django教程-02连接初始化数据库、django2.0,实现搜索数据库数据并显示在网页的功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10182019.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存