‘壹’ Python有哪些不错的web开发框架常用的有哪些
Python作为一门应用非常广泛的编程语言,本身针对Web开发提供了非常多的框架,既有重量级的,也有轻量级的,下面我简单介绍几个比较常见的PythonWeb开发框架,感兴趣的朋友可以自己尝试一下:
Django
这是Python一个非常成熟稳重的Web框架,基于MVC模式(又说MTV模式,本质其实一样),优点是文档完善、资料丰富、功能要素齐全,几乎你所能想到的要点,Django都已实现或集成,只需要简单开发和配置,就可快速搭建一个Web系统,缺点也显而易见,大包大揽,追求极致和完善,有些臃肿,不如Falsk等框架轻巧灵活,学习和使用起来也具有一定难度,但对于大型项目开发来说,是一个很不错的选择:
Flask
这是Python一个非常轻巧灵活的Web框架,可扩展性和可定制性都非常高,WSGI工具箱采用Werkzeug,模板引擎则使用JinJa2,与Django相比,比较轻便,也容易学习和掌握,如果你初学PythonWeb开发的话,可以学习一下这个框架,非常不错,对于中小型网站开发来说,也是一个不错的选择,缺点就是模块扩展相对较少(社区还在开发中),有许多功能可能需要自己实现:
测试代码如下,非常简单,只需几行代码就可快速搭建一个Web系统,运行启动程序,就可直接在浏览器中看到预期效果,悔拍非常容易:
Tornado
这也是一个轻量级的PythonWeb开发框架,与其他Web框架相比,最明显的区别就是非阻塞式的,运行速度非常快,每秒可以处理数以千计的连接,因此可以看做是一个实时的Web框架,如果你追求实时性能和效率的话,可以学习一下这个框架,非常不错,只不过有许多功能也需要自己亲自实现:
测试代码如下,也非常简单,只需简单几行代码就可快速构建一个Web系统,运行启动程序,就可在浏览器对应端碧则羡口中看到效果:
目前,就介绍这3个不错的PythonWeb开发框架吧,对于大部分Web开盯陵发来说,完全够用了,当然,还有许多其他框架,像Pylons,Bottle等也有非常不错,根据实际项目需求,选择适合的一个框架就行,网上也有相关资料和教程,介绍的非常详细,感兴趣的话,可以搜一下,希望以上分享的内容能对你有所帮助吧,也欢迎大家评论、留言进行补充。
‘贰’ Python 有哪些好的 Web 框架
Django, Pyramid, Bottle, Tornado, Flask, web2py.
具体介绍如下:
Django:开源Web开发框架,它鼓励快速开发,并遵循MVC设计,开发周期短。
Tornado:一个轻量级的Web框架,内置非阻塞式服务器,而且速度相当快
webpy:一个小巧灵活的Web框架,虽然简单但是功能强大。
Flask:一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。
Bottle:一个Python Web框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。初学web开发可以拿来玩玩,其语法简单,部署也很方便。
‘叁’ python web开发 该用什么框架
Djang Python Web应用开发框架
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。
Flask:一个用Python编写的轻量级Web应用框架
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2
。Flask使用 BSD 授权。
Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension
增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Tornado:异步非阻塞IO的Python Web框架
Tornado是一种 Web 服务器软件的开源版本。Tornado 和主流Web 服务器框架(包括大多数 Python
的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。
得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个 理想框架。
‘肆’ Python 如何开发高效漂亮的轻量级 Web 应用
痛点
从我开始折腾数据分析工具的那一天,就没有想明白一件事儿 —— 我打算把数据分析的成果做成一个 Web 应用,为什么这么难?
我需要的核心功能,无非是在网页上接收用户输入,然后做分析处理,把分析结果反馈给用户,完事儿。
可是这谈何容易?
很多人都会微笑着告诉你,想做 Web 应用?这得学前端编程, HTML + Javascript 了解一下吧!
什么?你还需要在后台做数据分析?那你就得学 Web 框架了。
你说喜欢 Python ?那就学个 Django 或者 Flask 好了。
我也不是没有看过 Django 和 Flask 的教程,还曾经付费学习过。光是 Django 配置环境,就够写一章出来。
作为学习的中间成果,我还写了这篇《如何用 Python 做 Web 开发?——Django 环境配置》分享给你。
真正让我痛苦的,不是 Web 框架的操作有多么琐碎,而是教程里的案例,为什么都那么奇怪?
几乎所有的教程,都指向一个目标:
来,我教你做一个 blog 出来!
我用你教?!
我要是想用 blog ,可以直接注册一个免费的啊!为什么我要自己开发个 blog 出来?
为什么你就不能告诉我,该怎么把我目前的数据分析结果,迅速挪到 Web 页面上,跟用户实时交互?
虽然二者的结果,都是做一个 Web 应用出来。但是,它们关注的焦点,需要的功能,能一样吗?
但是人家写书和做教程的人,就是不疾不徐,坚持一定要教会你,如何做一个 blog 出来……
你不学,又能怎么办呢?你难道想只凭 Python 脚本,就做一个 Web 应用出来?
还真别说,最近,这个事儿从幻想,变成了现实。
样例
这不,我就用纯 Python 脚本写了个 Web 应用。
我编写的代码里,没有一丝半毫的 Web 框架,Javascript,甚至是 HTML 。
这玩意儿能用吗?
你自己来试试看。
请你打开浏览器,输入以下链接:https://helloworld-streamlit.herokuapp.com/
你会看到下面的初始化界面。
初始化完毕之后,页面会分成左右两栏。左面是两个下拉候选框,分别让你指定需要分析的数据范围。
上面一个,是事件类型;
下面一个,是事件发生归属地。
如果你看过我的文章《如何用 Python 和循环神经网络预测严重交通拥堵?》,应该对这个数据集很熟悉。
只不过,当时我们更注重的,是用循环神经网络搭建了一个严重拥堵事件预测模型。
而今天,我们是要进行探索性数据分析,也就是根据我们感兴趣的目标,对数据进行整理操作,然后可视化显示。
选定之后,你会看到右侧提示两个信息:
你筛选之后,数据框包含行数
在层叠地图上的可视化结果。
怎么样?
麻雀虽小,五脏俱全。
虽然咱们这个 Web 应用很简单,不过交互分析该有的功能和流程,基本上都涵盖了。
你可能会问:
王老师,编这么一个应用出来,不简单吧?
让我带你到幕后,看看是不是很复杂。
幕后
我把这个应用的全部源代码,都为你存储到了 Github 上。请你访问这个网址获取:https://github.com/wshuyi/demo-helloworld-streamlit
可以看到,一共包含了 4 个文件。
有意思的是,其中 3 个,包括:
Procfile
setup.sh
requirements.txt
都只是部署到远程服务器时,需要用到的配置文件而已。
也就是说,只有最后一个helloworld.py是主角,它包含了实现咱们全部交互式数据分析功能的 Python 脚本文件。
这代码,少说也得有几百行吧?
别担心,打开来看看:
上面这张截图,就已经包含了实现交互数据分析功能的全部代码。
神奇吧?
解读
这么短的代码,为什么能有如此强大的功能?
这是因为它背后使用的一个软件包,叫做streamlit。
它是干什么用的?
一言以蔽之,给你赋能,让你能够不去操心什么前端后端。只写 Python ,只关注功能,你就能写出一个交互式 Web 应用出来。
当然,既然最后是 Web 应用,那么实际上前后端的功能都是齐备的。
只不过,这些交由 Streamlit 来帮你费心操办。你根本不用管。
爆发
为什么会有人做了这么一款神器出来?
原因很简单,咱们前面提到的痛点,是大伙儿都有的。
咱们这些麻瓜(Muggle),遇到痛点只能忍着。
但是真正的魔法师(优秀程序员),是忍不了的。
在这段来自 PyData LA 2019 的视频里,Streamlit 的 CEO Adrien Treuille 谈及了他在数据智能企业中,长期遭遇的痛点。
最大的痛点,就是数据科学家训练好机器学习模型后,需要验证效果,和用户反馈沟通。
但是,做机器学习的工程师本身,并不掌握这一整套的工具栈。
所以,就得在把全部的数据分析和模型训练工作完成后,把这东西移交给一个工具制作团队。
人家做完以后,就告诉数据科学团队说,做好了。但是注意,现在处于需求冻结阶段。这个应用你们可以随便用,只是别乱改。改坏了我们管不了。因为最近两个月,我们还得给其他若干数据分析团队做 app 。大概几个月以后,我们又能回来帮助你们了……
Adrien Treuille 很敏锐地捕捉到了这个长期痛点,于是在 2018 年, 创立了 streamlit 。
目标很简单,给数据科学团队提供简单的工具,让他们使用已经掌握的 Python 编程技能,就能直接做 Web 应用。
什么 “等上两三个月不许改”?!你们自己慢慢儿玩儿去吧,我们想怎么改,就怎么改!
至于做出来的东西嘛,可以是这样的:
资源
看到这里,是不是心动了?也打算学习一下 Streamlit ?
没问题,我前面给你提供的样例,就在 github 上,你可以直接查看源码。
如果你希望重现这个小应用,并且一步步学习掌握 Streamlit 的基础知识和技能,我也已经为你写好了一份手把手的教程。地址在这里https://sspai.com/post/58474。
它不仅教你如何设置环境,安装工具,写作代码,甚至连如何免费部署到 heroku 平台,让用户使用,都毫无保留地教给了你。
那篇文章,我用于参加少数派年度征文活动,所以就不能全文展示在这里了。
读完以后,如果你觉得有收获,欢迎在少数派平台上帮我点个赞。谢谢支持!
思考
尝试过之后,你应该不难发现,Streamlit 给你带来了什么。
如果你学过 Javascript 和 Flask, Django 等 Web 应用开发技术,Streamlit 可以加快你的 Web 应用开发与测试进程。
如果你还没有学过上述技术, Streamlit 可以给你赋能,让你一下子有了把数据分析结果变成产品的能力。
给你讲点儿更激进的。
有人已经希望能用它替代掉 Flask 用于产品发布了。
还有人说,将来写技术文档,也应该充分使用 Streamlit 。
甚至,还把它比作了数据科学界的 iPhone 。
这里,它是借喻 iPhone 开启智能手机时代,说明 Streamlit 的划时代性。
我不希望你也变得如此激进。
因为这里提到的每一种功用,现在还都有非常专业的工具做的更好,而且新的工具也在不断涌现。
例如说,我们在多个教程中一直使用 Jupyter Notebook 。
现在凭借 Voila 扩展的加持,你也可以很轻松地把 Jupyter Notebook 变成 Web app ,而且可以免费运行在 mybinder 上面。
但是,你可以看到,一个新的工具,以一种简单,而不是更繁复的办法,解决一个功能痛点,是一件多么令人欣喜的事儿。
看了这篇文章,可能会给你一种误解,似乎 JavaScript 为代表的前端编程技术,再也不需要学了。
其实不是这样的。
可以想象,开发门槛降低以后,将来会有更多的人使用 Python 来做 Web 应用。
用 Streamlit 这样的方法,他们只是开发出了一个原型。
要是想打造精品,就必须精细调控很多细节。
这时候, 如果你精通 Javascript ,那你潜在的合作对象一下子就多了起来,你掌握的这门技术,也就有了更大的价值。
还记得吗?我不止一次给你强调过,比起一个工具自身的能力来,协作网络更重要。忘了的话,记得复习《学 Python ,能提升你的竞争力吗?》。
这就好像印刷术的发明,不是让会写字这件事儿变得失去价值,而是全社会都增大了对好作品的渴求。深刻的思考,加上有效的文字表达,会让你生存得更好。
当然,如果你不希望精通写作技艺,只是想做一个抄书匠糊口。那么印刷术就可能会替代你的工作,结果就不那么美妙了。
小结
这篇文章,我为你介绍了 Streamlit 这款有趣的工具。希望你读过之后,掌握了以下知识点:
借助 Streamlit ,你可以用纯 Python 编制 Web 应用;
学 Web 设计依然很有前途,因为你的潜在合作群体正在迅速扩大;
不要惹魔法师(优秀程序员)。他们的痛点需求会转化成无尽的战斗力,兴许会直接替掉你的日常工作。
更多Python知识,请关注:Python自学网!!
‘伍’ python web开发 用什么工具
python web开发常用的工具:
1. Django
Django无疑是最通用的web开发框架之一,适用博客做一个后端和为企业做一个内容管理系统。
优点:从几乎为零的状态建设出一个全功能的web应用程序。
备注:Python面向对象的设计非常干净,而且配备了令人难以置信的支持库。Python可以很容易地与其他流行的编程语言如Java,C和C ++集成。
‘陆’ 用python做个简单web接口选什么框架最简单
用python做个简单web接口选什么框架最简单
不是很清楚。
只是知道用django的比较多。
以下资料供参考:
我整理的:
【整理】Python中常见的Web框架
我折腾django的:
【记录】安装Django
【记录】基于通过pip安装官网Django后,折腾第一个Django的app
【记录】基于通过pip安装官网Django后,折腾第二个Django的app
要自己写框架,首先你要知道web框架都需要哪些,你可以看一下框架原始码,或者参与到框架开源开发中。如果你要自己看原始码,推荐看bottle.py,这个python的web框架只有一个档案,很方便。如果你要参与专案,推荐django,大而全,github上的原始码很多人在做支援。如果解决了您的问题请采纳!如果未解决请继续追问!
python网站框架哪个简单
Flask 很轻,花很少的成本就能够开发一个简单的网站。非常适合初学者学习。
Flask 框架学会以后,可以考虑学习外挂的使用。例如使用 WTForm + Flask-WTForm 来验证表单资料,用 SQLAlchemy + Flask-SQLAlchemy 来对你的资料库进行控制。
荣耀6p怎么安装xp框架最简单
华为手机使用的是自身定制的安卓系统。
在安装框架的过程中可能会产生各种问题。
建议使用刷机精灵,将手机系统刷至安卓原生系统。
然后安装例如XP框架,执行更为稳定。
什么银行的网银接口最简单?
工商银行是最常用,网银接口比较简单,但是如果跨行转账汇款的话手续费比较高。招商银行的网银页面也不错。这都是日常使用过程中个人觉得比较简单好用的。
javaweb三大框架中,哪种最简单,你觉得?
Struts相对来说简单些。
因为Strusts只操作与Serlvert,不关系到别的(有些牵强,但是他对于表示式,国际化,都是在使用者体验上,也都是与Servlet打交道)。就算是Strusts2X,也是使用拦截器拦截使用者的请求,作用到servlet。
但是Spring所设计的东西和层面太多,而且都是微型的、切面的程式设计,配置档案和核心对于基础较差的还是很有难度的,尤其是初学者。
Hibernate的使用,要对资料库要相对很熟悉,尤其是资料库的理论方面,而且,Hibernate的配置需要资料的基础好,但是学好了Hibernate的话,对于程式设计有很大的好处
求个最简单易用的PHP框架,不用太多的功能,适合新手的,最简单的。
thinkphp轻量级框架,企业网站的经典运用
thinkphp是最简单的框架了,如果的的网站实在小就不用框架会更快做好,因为它也是MVC架构,而MVC就是为了方便快速开发大型网站的
‘柒’ Python 有哪些好的 Web 框架
常见的5种Web框架:
第一个:Django
Django是一个开源的Web应用框架,由Python写成,支持许多数据库引擎,可以让Web开发变得迅速和可扩展,并会不断的版本更新以匹配Python最新版本,如果是新手程序员,可以从这个框架入手。
第二个:Flask
Flask是一个轻量级的Web应用框架,使用Python编写。基于WerkzeugWSGI工具箱和JinJa2模板引擎,使用BSD授权。
Flask也被称为microframework,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。然而Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
第三个:Web2py
Web2py是一个用Python语言编写的免费的开源Web框架,旨在敏捷快速的开发Web应用,具有快速、可扩展、安全以及可移植的数据库驱动的应用,遵循LGPLv3开源协议。
Web2py提供一站式的解决方案,整个开发过程都可以在浏览器上进行,提供了Web版的在线开发,HTML模板编写,静态文件的上传,数据库的编写的功能。其他的还有日志功能,以及一个自动化的admin接口。
第四个:Tornado
Tornado即是一个Webserver,同时又是一个类web.py的micro-framework,作为框架的Tornado的思想主要来源于web.PY,大家在web.PY的网站首页也可以看到Tornado的大佬Bret
Taylor的这么一段话:“[web.py inspired the] Web framework we use at FriendFeed [and] thewebapp framework that ships with App Engine…”,因为这层关系,后面不再单独讨论Tornado。
第五个:CherryPy
CherryPy是一个用于Python的、简单而非常有用的Web框架,其主要作用是以尽可能少的操作将Web服务器与Python代码连接,其功能包括内置的分析功能、灵活的插件系统以及一次运行多个HTTP服务器的功能,可运行在最新版本的Python、Jython、android上。
‘捌’ Python 有哪些好的 Web 框架
python的web框架很多
django (大而全,模板,orm都自带)
flask (pocoo出品,比属精品,自带jinja2模板,可以替换)
web.py (这个我没用过,作者自杀,白瞎了一个高手)
bottle (只有一个文件的框架,需要自己构建整个开发体系)
uliweb (中国人开发的,也很不错)
Tornado (异步框架,适合长连接,比如在线聊天之类的)
Python框架虽然说是百花齐放,但仍然有那么一家是最大的,它就是Django。Django为人所称道的地方主要有:
①完美的文档,Django的成功,我觉得很大一部分原因要归功于Django近乎完美的官方文档(包括Django book)。
②
全套的解决方案,Django象Rails一样,提供全套的解决方案(full-stack framework + batteries
included),基本要什么有什么(比如:cache、session、feed、orm、geo、auth),而且全部Django自己造,开发网
站应手的工具Django基本都给你做好了,因此开发效率是不用说的,出了问题也算好找,不在你的代码里就在Django的源码里。
③强大的URL路由配置,Django让你可以设计出非常优雅的URL,在Django里你基本可以跟丑陋的GET参数说拜拜。
④自助管理后台,admin interface是Django里比较吸引眼球的一项contrib,让你几乎不用写一行代码就拥有一个完整的后台管理界面。