Flask-Web开发入门(模版引擎)

什么是Flask框架?

Flask是一个使用Python编写的轻量级Web应用框架。其WSGI工具箱采用Werkzeug,模版引擎则使用Jinja2。

什么是模版引擎?

模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。
我们可以把模版看成一个含有变量的字符串,它们的具体值需要在动态运行时才能知道。比如:

<h1>Hello,{{name}}!</h1>

其中,name是一个变量名,我们用{{ }}来表示他是一个变量,给name传递不同的值,模版就会iu返回不同的字符串。像这样使用真实的值替换变量,再返回最终得到的响应字符串,这一过程称为渲染模版引擎就是渲染模版的程序
视图函数夹杂了一些HTML的代码,如果HTML代码多了,程序就会变得难以理解和维护。视图函数主要有两部分逻辑:业务逻辑和表现逻辑。
业务逻辑:像上下文判断,数据库查询等后台处理都算时业务逻辑;
表现逻辑:返回给前端的响应内容则算是表现逻辑,他们需要在前端展示。
将业务逻辑和表现逻辑混在一起,代码看起来很不优雅,而且如果代码变多了之后程序会变得难以理解和维护。所以良好的做法是将业务逻辑和表现逻辑分开,而模版引擎正好可以满足这种需求。
一个简单的应用

# 从flask模版中导入一个Flask类
from flask import Flask


#通过将__name__参数传给Flask类的构造函数,传教爱你一个程序实例app
#也就是创建了一个Flask集成的开发Web服务器。Flask用__name__这个参数
# 决定程序的根目录,以便程序能够找到相对于程序根目录的资源文件位置
app=Flask(__name__)


#Web浏览器把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例,
#程序实例要知道对每个URL请求应该运行那些代码。
#如果浏览器访问的根地址‘/’,则Flask程序实例就会执行函数hello().
@app.route("/<name>")
def hello(name):
   return "hello world"


if __name__=="__main__":
    app.run()

默认情况下服务器会监听本地的5000端口,如果要改变端口可以传入“port=端口号”,
如果想支持远程传入“host=0.0.0.0”如app.run(host=’0.0.0.0’,port=9000)

服务器起动后,程序会进入轮询,等待并处理请求。轮训会一直运行,直至程序被终止。但是Flask提供的Web服务器不适合在生产环境中使用。

猜你喜欢

转载自blog.csdn.net/mashaokang1314/article/details/80931502