当前位置:   article > 正文

pythonflask框架_Flask框架

pythonflask前端主要技术架构

一、Web前端与后端(PythonWeb)

1.Web前端:网页,包含HTML,CSS,JS。

静态网页:不能与服务器交互的网页

动态网页:能够与服务器交互的网页

2.Web后端:、Flask,Django、Ajax技术

二、服务器

1.服务器:为用户提供服务的计算机,将数据抽象成URL,以供用户访问。

2.组成:

硬件:主机

软件:能够处理用户请求的程序:Apache、Tomcat、IIS(InternetInformationService)、Nginx

3.作用:

存储Web相关的数据

处理请求和响应

具备安全性

三、框架

框架:为了解决一些开放性问题,重复性问题而产生的程序结构

框架模式:

MVC

M:模型层Model,与数据库打交道

V:视图层View

C:控制层Controller,处理请求与响应

MTV(Flask)

M:模型层Model

T:Template模板(HTML模板),

V:View视图层,处理请求与响应

四、Flask使用

1.Flask是一个基于Python并依赖于Jinja2模板引擎和WerkZeugWSGI服务的框架。

WSGI:WebServerGatewayInterface.Web服务网关接口,提供处理网络请求相关的功能

路由:为了匹配用户的请求地址,会自动执行视图函数,视图函数中必须有返回值,返回字符串显示到相应的页面中。

1、定义路由及视图函数

@app.route('/地址')

deffuncName():

return""#响应到页面中的内容

#视图函数

@app.route("/")

defindex():#匹配到路径后执行的视图函数

return"

欢迎

"

2、定义带参数的路由

变量:

@app.route("/login//")

deflogin(name,age):

return"%s,%s"%(name,age)

注意:路径中的参数变量永远是字符串类型

@app.route('/login//')

deflogin(name,age):

return"

欢迎登录,%s,%s

"%(name,age)

3、类型转换器

缺省字符串,不能包含'/'

int:转换整数

float:转换小数

path:字符串,允许包含'/'

使用:

@app.route('/show/')

@app.route('/calcute//')

defcalcute(n1,n2):

#n1=int(n1)

#n2=int(n2)

n3=n1+n2

return"%d+%d=%d"%(n1,n2,n3)

4、多个URL执行同一个视图函数

@app.route('/')

@app.route('/index')

defindex():

return"首页"

@app.route('/show')

@app.route('/show/list')

@app.route('/show/')

defshow(name="ze"):

return"show%s"%name

注意:

如果在app.run()设置host="0.0.0.0";不影响当前虚拟IP(127.0.0.1);可以让当前局域网中其他的计算机,通过内网IP访问服务器

模板

模板是一种特殊的HTML文件,Python+html网页结构,允许在HTML文件中定义变量,定义流程控制。使用模板可以使视图函数专注于处理业务逻辑,将页面渲染交由模板控制。

2.使用

导入render_template

在视图函数中使用render_template("模板文件"),生成模板字符串,交由浏览器解析

所有的模板文件必须存在名为"templates"的文件下

变量代码块

1)模板中使用变量,语法{{变量名(key)}}

2)从视图函数中获取相关的变量,传递到模板文件中。

returnrender_template("模板文件",key1=value1,key2=value2)

函数中可以传递若干键值对,其中的key名就是在模板文件中使用的变量名

视图函数中定义变量name=""、age=、dic=、tub、list将数据传递到模板文件中显示

defshow():

name="xb"

returnrender_remplate("",uname=name)

模板文件中使用{{uname}}

#模板

@app.route('/info')

definfo():

#返回模板文件,可以传递变量

#render_template("")返回模板字符串

print("%s",render_template("01-show.html"))

#returnrender_template("000.html")

#returnrender_template("001.html",uname=name,list=list)

returnrender_template("01-show.html",name="flask",age=20)

01-show.html

Title

模板

{{uname,list[0]}}}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/997622
推荐阅读
相关标签
  

闽ICP备14008679号