Flask网页开发学习指南

在Linux中安装Flask框架(假设已经安装了Python3环境),可以使用如下命令:

pip3installFlask如果安装成功,可以看到类似如下的内容:

SuccessfullyinstalledFlask-1.0.2Werkzeug-0.15.2click-7.0itsdangerous-1.1.02.基本语法(1)初始化所有Flask程序都必须创建一个程序实例,Web服务器使用一种名为Web服务器网关接口的的协议(WSGI),把接收自客户端的所有请求转发给这个对象处理。程序实例是Flask类的对象,使用下面代码构建:

fromflaskimportFlaskapp=FLask(__name__)Flask类的构造函数只有一个必须指定的参数,即程序主模块或则包的名称。。在大多数程序中,Python的name变量就是所需的值。

客户端把请求转发给Web服务器,Web服务器再把请求发送给Flask程序实例。程序实例需要知道对于每个URL请求,运行哪些代码,所以保存一个URL请求到Python函数的映射关系。处理URL和函数映射关系的程序称为路由。

@app.route("/")defindex():return"

hello,Flask

"这里把index()函数注册为程序根地址的处理程序。在浏览器中访问网站首页后,会触发服务器执行index()函数。这个函数的返回值叫做响应,是客户端接收到的内容。像index这样的函数称为视图函数。视图函数的返回的响应可以是简单的html,也可以是复杂的表单。

程序实例用run方法启动Flask集成的开发Web服务器:

if__name=='___main_':app.run(debug=True)name=='main'是Python的惯常用法,在这里确保直接执行这个脚本时才启动开发Web服务器。如果这个脚本由其他脚本引入,程序假定父级脚本会启动不同的服务器,因此不会执行app.run()。

服务器启动后,会进入轮询,等待并处理请求。轮询会一直运行,直到程序停止,比如按Ctrl-C键

有一些选项参数可被app.run()函数接受用于设置Web服务器的操作模式。在开发过程中启用调试模式会带来一些便利,比如说激活调试器和重载程序。要想启用调试模式,我们可以把debug参数设为True。

建立一个代码文件testweb.py,内容如下:

fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defindex():return'

hello,flask

'if__name__=='__main__':app.run(debug=True)然后,在LinuxShell环境中执行如下命令:

python3testweb.py然后,屏幕上会出现如下信息:

在网页目录下,创建一个templates目录,把模板文件存放在该目录下,比如,在这个模板目录下建立一个index.html,内容如下:

Welcome

DatabaseLabofXiamenUniversity

然后,把testweb.py的内容修改为如下:

fromflaskimportFlaskfromflaskimportrender_templateapp=Flask(__name__)@app.route('/')defindex():returnrender_template("index.html")if__name__=='__main__':app.run(debug=True)使用Ctrl+C组合键,把原来已经在运行的testweb.py结束掉,然后,在LinuxShell环境中执行如下命令:

python3testweb.py就可以看到网页了。

把testweb.py修改为:

fromflaskimportFlaskfromflaskimportrender_templateapp=Flask(__name__)@app.route('/')defindex():user={'username':'Xiaoming'}returnrender_template("index.html",title='Welcome',user=user)if__name__=='__main__':app.run(debug=True)把index.html文件修改为:

{{title}}

Hello{{user.username}}

DatabaseLabofXiamenUniversity

使用Ctrl+C组合键,把原来已经在运行的testweb.py结束掉,然后,在LinuxShell环境中执行如下命令:

在网页目录下新建draw.py文件,内容如下:

#-*-coding:utf-8-*-frompyechartsimportBardefdraw_bar():print("开始绘图")attr=["海沧","湖里","集美","思明","翔安","同安"]v0=[10,30,20,15,22,23]v1=[10,30,20,15,22,23]v2=[10,30,20,15,22,23]v3=[10,30,20,15,22,23]bar=Bar("厦门市租房租金概况")bar.add("最小值",attr,v0,is_stack=True)bar.add("最大值",attr,v1,is_stack=True)bar.add("平均值",attr,v2,is_stack=True)bar.add("中位数",attr,v3,is_stack=True)bar.render('./templates/result.html')print("结束绘图")把testweb.py修改为:

fromflaskimportFlaskfromflaskimportrender_templateimportdrawapp=Flask(__name__)@app.route('/')defindex():draw.draw_bar()returnrender_template("result.html")if__name__=='__main__':app.run(debug=True)使用Ctrl+C组合键,把原来已经在运行的testweb.py结束掉,然后,在LinuxShell环境中执行如下命令:

把draw.py文件的内容修改为如下:

#-*-coding:utf-8-*-frompyechartsimportBardefdraw_bar():w=[[0.5,0.4,0.3],[0.4,0.5,0.3],[0.3,0.4,0.5],[0.5,0.3,0.4]]attr=["决策树","随机森林","logistic回归"]bar=Bar("tf-idf分类结果图")#创建条形图对象bar.add("accuracy",attr,w[0])bar.add("precision",attr,w[1])bar.add("recall",attr,w[2])bar.add("f1",attr,w[3])bar.render('./templates/result.html')testweb.py不变,还是如下:

把index.html内容修改为如下:

Welcome

DatabaseLabofXiamenUniversity



把testweb.py的内容修改为如下:

fromflaskimportFlaskfromflaskimportrequestfromflaskimportrender_templateimportdrawapp=Flask(__name__)@app.route('/')defindex():returnrender_template("index.html")@app.route('/login',methods=['post'])deflogin():username=request.form.get('username')password=request.form.get('password')returnrender_template('loginsuccess.html',username=username,password=password)if__name__=='__main__':app.run(debug=True)在templates目录下再新建一个loginsuccess.html,内容如下:

Welcome

LoginSuccess.Nameis:{{username}},Passwordis:{{password}}

使用Ctrl+C组合键,把原来已经在运行的testweb.py结束掉,然后,在LinuxShell环境中执行如下命令:

把index.html的内容修改为如下:

Welcome

DatabaseLabofXiamenUniversity

--pleaseselectwordvector--TF-IDFWord2Vec--pleaseselectclassifier--逻辑斯蒂回归决策树随机森林把testweb.py的内容修改为如下:

fromflaskimportFlaskfromflaskimportrequestfromflaskimportrender_templateimportdrawapp=Flask(__name__)@app.route('/')defindex():returnrender_template("index.html")@app.route('/login',methods=['post'])deflogin():wordvector=request.form.get('wordvector')classifier=request.form.get('classifier')returnrender_template('submitsuccess.html',wordvector=wordvector,classifier=classifier)if__name__=='__main__':app.run(debug=True)在templates目录下表再新建一个submitsuccess.html,内容如下:

SubmitSuccess

FormSubmitSuccess.WordVectoris:{{wordvector}},Classfifieris:{{classifier}}

使用Ctrl+C组合键,把原来已经在运行的testweb.py结束掉,然后,在LinuxShell环境中执行如下命令:

index.html的内容不变,还是如下:

fromflaskimportFlaskfromflaskimportrequestfromflaskimportrender_templateimportdrawapp=Flask(__name__)@app.route('/')defindex():returnrender_template("index.html")@app.route('/login',methods=['post'])deflogin():wordvector=request.form.get('wordvector')classifier=request.form.get('classifier')ifwordvector=="1":ifclassifier=="1":print("TF-IDF+logisticregression")elifclassifier=="2":print("TF_IDF+decisiontree")elifclassifier=="3":print("TF-IDF+randomforest")elifwordvector=='2':ifclassifier=="1":print("Word2Vec+logisticregression")elifclassifier=="2":print("Word2Vec+decisiontree")elifclassifier=="3":print("Word2Vec+randomforest")returnrender_template('submitsuccess.html',wordvector=wordvector,classifier=classifier)if__name__=='__main__':app.run(debug=True)submitsuccess.html内容不变,如下:

python3testweb.py然后,就可以在网页中依次选择不同的下拉列表选项,点击提交,然后,可以在运行testweb.py的终端内查看控制台输出的日志信息。

THE END
1.网页模板创世下载站免费游戏软件资源创世下载站为广大用户提供一手的游戏软件下载资源,每天更新最新的游戏软件,拥有最全的国内外下载资源,同时为大家提供精品推荐,下载排行,手机游戏等内容,做用户最贴心最信赖的下载平台。https://www.cssmoban.com/
2.网站模板网页模板免费企业网站模板源码建站模板网为您提供大量精品网站模板,网页模板,免费企业网站模板源码,企业网站模板,免费企业网站模板,网站模板源码,免费网站模板源码,几千套免费网站模板源码尽在建站模板网sitemuban.com!http://www.sitemuban.com/
3.网页模板网站模板下载大全网页模板资源全接触网站模板下载大全,随着互联网技术的飞速发展,越来越多的企业和个人开始意识到拥有一个高质量网站的重要性。然而,对于非专业人士来说,从头开始制作一个网站似乎是一个艰巨的任务。幸运的是,有许多网页模板和网站模板下载平台可以提供帮助,它们提供了各种各样的模板,满足不同的需求和偏好。这些模板不仅...https://m.sohu.com/a/825800507_121614593
4.html网页模板图片html网页模板素材html网页模板模板免费下载六图网为您提供html网页模板设计作品免费下载服务,您还可以找到html网页模板图片、html网页模板素材、html网页模板模板等设计素材,我们为您提供html网页模板图片下载,html网页模板模板下载、html网页模板素材下载等服务!https://www.16pic.com/sucai/642433.html
5.网页模板,网站模板免费下载,做网站首选模板无忧模板无忧是国内最具人气的网站模板、网页模板下载站,提供网站模板、网页模板、程序模板下载及建站相关素材、教程资源。众多专业模板设计师,新模板每日更新http://www.mb5u.com/
6.网站模板企业网站模板免费网站模版html模板网站凡科建站网站模板频道,提供海量精美免费网站模板、企业网站模板、html模板网站、公司网站模板、手机网站模板、自适应网站模板等免下载使用,注册即可模板建站。在线制作与设计网站模板,覆盖全行业,自由拖曳,0门槛建网站。一站式解决建站需求,功能强大,seo优化简单,收https://jz.fkw.com/model.jsp
7.稿定官网海量海报模板,让设计更简单海量设计模板加持不会PS也能轻松搞定设计,在线设计海报、简历、PPT、名片、宣传单、邀请函、Logo等多种设计需求场景,3秒抠图、批量套版、AI辅助设计实用便捷。海量正版授权资源,商用无忧。https://www.gaoding.com/
8.PPT模板PPT模版免费下载免费PPT模板下载第一PPT模板网提供各类PPT模板免费下载,PPT背景图,PPT素材,PPT背景,免费PPT模板下载,PPT图表,精美PPT下载,PPT课件下载,PPT背景图片免费下载;https://www.1ppt.com/
9.爱给网音效配乐3D模型视频素材图标图标 微信 搜索 网页模板网页模板 首页 后台 UIUI PC APP 元素/背景 共80万张 免抠元素免抠元素 动物 植物 免抠背景免抠背景 水墨 复古 矢量图矢量图 建筑 交通 素材 共1170.8万张 图库图库 旅游 艺术 字体字体 楷体 黑体 PPTPPT 汇报 总结 表情包表情包 搞笑 卡通 GIFGIF 动画 明星 Flash...http://aigei.com/
1.模板王模板王精选上万个网页模板免费下载,提供html模板、个人网站模板、企业网站模板、DIV+CSS模板、响应式网站模板、手机网站模板等免费网页模板下载大全。https://www.mobanwang.com/
2.HTML网页模板专题模板HTML网页模板图片素材下载我图网HTML 网页模板专题为您整理了90个原创高质量HTML 网页模板图片素材供您在线下载,PSD/JPG/PNG格式HTML 网页模板模板下载、高清HTML 网页模板图片大全等,下载图片素材就上我图网。https://so.ooopic.com/search-48544d4c20cdf8d2b3c4a3b0e5-0-0_0_dnumd_0_0_0_ooo_0_1_0________.html
3.分享15个精美的html网页模板,快速建站必备!如果你正在寻找html网页模板素材,那么你很幸运。今天,Pixso设计师为你搜集了15组优秀的html网页模板,它们包含各个领域的网页设计,从内容排版布局到配色风格,无疑都是十分惊艳的,希望这些html网页模板素材能帮助你更快的推进网页设计项目进度。另外,本文所分享的所有html网页模板,都是可以通过Pixso网站的资源社区进行免费...https://pixso.cn/designskills/html-web-resourcel/