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.免费使用!20款精致优质的HTML网站模板和小组件下载优设网随着国内大部分浏览器已经升级,并且手机端的使用率增加,大部分网站都需要兼容移动端,并结合CSS3动画来实现体验良好的网站,今天和大家分享的模板素材也是如此,布局精美,配合细微的交互动画,这才是目前流行的网站趋势。 这里我们整理了20款漂亮的HTML网站模板和网页小组件元素,用户可以下载下来免费使用,就算不用也可以当作https://www.uisdc.com/20-elegant-html-templates
2.分享几款免费HTML网页模板(含下载地址)自助建站分享几款免费HTML网页模板(含下载地址) 发布日期:2019-09-24 浏览次数:13797 搜索 今天小飞想和大家分享几款免费的HTML网页模板,这些模板不需要登录注册就可以直接下载,是不是超级方便?当然,下载下来的都是CSS等文件,需要懂建站知识才好上手。 1.企业展示网站模板https://www.qifeiye.com/%E5%88%86%E4%BA%AB%E5%87%A0%E6%AC%BE%E5%85%8D%E8%B4%B9html%E7%BD%91%E9%A1%B5%E6%A8%A1%E6%9D%BF%EF%BC%88%E5%90%AB%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80%EF%BC%89/
3.网页模板创世下载站免费游戏软件资源创世下载站为广大用户提供一手的游戏软件下载资源,每天更新最新的游戏软件,拥有最全的国内外下载资源,同时为大家提供精品推荐,下载排行,手机游戏等内容,做用户最贴心最信赖的下载平台。https://www.cssmoban.com/
4.分享84个Html经典模板,总有一款适合您html项目下载84个Html经典模板下载 链接:https://pan.baidu.com/s/1d7Asg3WDVdxI_P1lodjcMA?pwd=8888 提取码:8888 学习知识费力气,收集整理更不易。知识付费甚欢喜,为咱码农谋福利。 教学计划信息网页模板 教育中心在线网页模板 光明教育机构网页模板 404错误打开失败网页模板 https://blog.csdn.net/zy0412326/article/details/136551325
5.网页模板html模板下载网页布局 响应式网站模板 树形菜单 木马旋转 表单美化 登录界面 下拉列表 图片叠加 网页背景 缩略图 放大镜图片 select美化 图片拖动 大图切换 日历选择器 table 拖拽 对联广告 html5游戏 二维码 图片延迟加载 进度条 搜索框 提示框 表单验证 倒计时 图片悬停 http://www.100sucai.com/web/templates/html/
6.网页模板设计素材HTMLCSSCMS模板免费下载作品集:html网页模板243款 酒醉的蝴蝶_10 10个月前 html5黑色大气的建筑设计行业网站模板 中国民间年画 5页面 带文字滚动文化 jpg5m 作品集:网页模板14款 自媒体模板大全 3个月前 宽屏甜点美食HTML5模板是一款餐厅美食网站模板下载。 svg21m 作品集:网页模版20244722款 https://www.aigei.com/ui/web
7.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
8.html网页模板图片html网页模板素材html网页模板模板免费下载六图网为您提供html网页模板设计作品免费下载服务,您还可以找到html网页模板图片、html网页模板素材、html网页模板模板等设计素材,我们为您提供html网页模板图片下载,html网页模板模板下载、html网页模板素材下载等服务!https://www.16pic.com/sucai/642433.html
9.网站模板HTML网页模板2000+精选网站模板、企业网站响应式模板免费下载,提供html模板、网页制作模板、企业网站模板、DIV+CSS模板、响应式网站模板、手机网站模板等免费网页模板下载大全。http://www.wangyemuban.com/
10.html网页开发模板html网页开发模板文档介绍内容阿里云为您提供html网页开发模板相关的63604条产品文档内容及常见问题解答内容,还有等云计算产品文档及常见问题解答。如果您想了解更多云计算产品,就来阿里云帮助文档查看吧,阿里云帮助文档地址https://help.aliyun.com/。https://help.aliyun.com/wordpower/611721-1.html
11.10款高品质网页html模板,轻松创建精美网页!网页html模板也围绕这一理念,趋向于简约而不简单的设计。这种设计趋势力求简约,讲究留白,摈弃繁杂的设计元素,沉淀出设计中的精华。本文将会结合Pixso资源社区为你介绍10款优秀网页html模板,这些网页html模板都可以免费使用。https://pixso.cn/designskills/web-page-html-templates/
12.网页模板HTML5网站模板网页图片HTML模板、WordPress与电子商务主题、网页图片以及在线元素的最大集结地。 TemplateMonster为你提供由世界各地的专业人员开发的网页设计产品。http://china.templatemonster.com/
13.第一模板网官网第一模板网官网-html5网页设计模板 查看更多案例 品牌创意网站 颠覆视觉创新 塑造优秀品牌 品牌网站以品牌营销为目标,搭配多变创新的设计风格,突出展现企业品牌魅力。尘凡科技提供的品牌网站建设服务,努力发掘每一品牌的独特记忆点,设定专属的品牌展示角度;并以震撼的视觉冲击力,塑造令人记忆深刻的品牌形象;助力企业扩大https://www.021van.com/web/205094.html
14.11个简单的HTML网页制作模板分享给你!1、电商类 HTML 网页制作模板 模板首页使用清晰美观的产品图片和视频,在清楚的展示产品的各个角度和重要细节的同时也可以吸引用户的注意力,模板包括注册、产品展示、页尾设计,页头设计,登录页设计等网页 UI 界面,供大家免费使用。 点击图片,免费使用同款 HTML 网页制作模板 https://js.design/special/article/simple-web-authoring-templates.html
15.网页模板,网站模板免费下载,做网站首选模板无忧模板无忧是国内最具人气的网站模板、网页模板下载站,提供网站模板、网页模板、程序模板下载及建站相关素材、教程资源。众多专业模板设计师,新模板每日更新http://mb5u.com/
16.html模板图片免费下载html模板素材html模板模板千图网为您找到3590张html模板相关素材,千图网还提供html模板图片,html模板素材, html模板模板等免费下载服务,千图网是国内专业创意营销服务交易平台,一站式解决企业营销数字化、协同化,实现营销转化效果增长!https://www.58pic.com/tupian/htmlmoban.html
17.html5源码网页模板下载html5源码网站模板下载html5源码 主要分为htmlhtml5源码 网页模板下载、psdhtml5源码 网站模板下载、htmlhtml5源码 网站模板下载、psdhtml5源码 网页模板下载。https://www.17sucai.com/pins/tag/1275.html
18.pbootcms网站模板织梦模板网站源码jquery建站特效html5模板网(www.html5code.net)是专业的pbootcms模板、dedecms织梦模板源码下载网站,整理与建站相关的网站源码、html静态模板、jQuery网页特效、js网页代码等素材,网站同时提供编程专业技术问答、建站教程和编程技术教程,为需要建网站和学习编程技术的朋友助力。http://www.html5code.net/
19.手把手教你使用Dreamweaver进行网站开发2.将使用哪种编程语言来开发网站,如HTML、CSS、JavaScript等。 3.网站的基本结构和文件夹布局。 二、创建网页 在Dreamweaver中创建网页可以通过从模板库选择模板或手动从头创建。 三、从模板库选择模板 在Dreamweaver中,点击菜单栏中的“文件→新建页面”选项,然后选择所需的模板,从而快速创建网页。利用内置模板库可轻松https://www.yutu.cn/news_52075.html
20.html模板响应式html模板响应式的Bootstrap4酒店在线预订HTML模板,整洁小型电商购物网站HTML模板响应框架,Bootstrap响应式旅行社酒店航班HTML模板,漂亮红色的的HTML餐饮企业网站模板,HTML古风样式律师事务所网站模板,时尚的Web主机服务商网站HTML模板,蓝色的教育研究实验中心网站HTML模板,登录和注https://www.bootstrapmb.com/tag/htmlmoban
21.h5模板,html5模板,手机模板,企业网站模板,网页模板,网站模板,简历h5模板网为你提供大量免费的精品网页模板,html5模板,黄色模板,简历模板,bootstarp,免费模板,企业网站模板,网站模板下载,DIV+CSS模板,h5模板,响应式网页模板,网页设计模板,网站后台模板,个人博客模板等上千种免费网页模板,模板下载尽在h5模板网h5tpl.com。http://www.h5tpl.com/