什么是Web Framework?
Web Application Framework(Web应用程序框架)或简单的Web Framework(Web框架)表示一个库和模块的集合,使Web应用程序开发人员能够编写应用程序,而不必担心协议,线程管理等低级细节。
什么是Flask?
Flask是一个用Python编写的Web应用程序框架。 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目。
WSGI
Web Server Gateway Interface(Web服务器网关接口,WSGI)已被用作Python Web应用程序开发的标准。 WSGI是Web服务器和Web应用程序之间通用接口的规范。
Werkzeug
它是一个WSGI工具包,它实现了请求,响应对象和实用函数。 这使得能够在其上构建web框架。 Flask框架使用Werkzeug作为其基础之一。
jinja2
jinja2是Python的一个流行的模板引擎。Web模板系统将模板与特定数据源组合以呈现动态网页。
Flask通常被称为微框架。 它旨在保持应用程序的核心简单且可扩展。Flask没有用于数据库处理的内置抽象层,也没有形成验证支持。相反,Flask支持扩展以向应用程序添加此类功能。一些受欢迎的Flask扩展将在本教程后续章节进行讨论。
Flask调用视图函数后,可以返回两种内容,该程序返回的内容属于上面提到的字符串内容,返回的是Hello,world
。
# 1.导入Flask扩展
from flask import Flask
# 2.创建Flask应用程序实列
# 需要传入__name___,作用是为了确定资源所在路径
app = Flask(__name__)
# 3.定义路由及其视图
# Flask中定义路由时通过装饰器实现的
@app.route('/') # 根目录
def hello_world():
return 'Hello, World'
# 4.启动程序
if __name__ == '__main__':
# 执行app.run,就可将Flask程序运行再一个简易的服务器(Flask提供的,用于测试的)
app.run()
运行后,点击下面的 http://127.0.0.1:5000/
:
即可得到运行结果:
前面曾提到,Flask调用视图函数后,可以返回两种内容,该程序返回的内容属于上面提到的HTML模板内容。
在程序1的基础上对代码进行修改,增加render_template
模块。
# 1.导入Flask扩展
from flask import Flask, render_template
# 2.创建Flask应用程序实列
# 需要传入__name___,作用是为了确定资源所在路径
app = Flask(__name__)
# 3.定义路由及其视图
# Flask中定义路由时通过装饰器实现的
@app.route('/') # 根目录
def hello_world():
return render_template('index.html')
# 4.启动程序
if __name__ == '__main__':
# 执行app.run,就可将Flask程序运行再一个简易的服务器(Flask提供的,用于测试的)
app.run()
在同一目录下创建名为templates的文件夹,在该文件夹下创建html文件,并命名为index.html
:
HTML程序如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>我是title</title>
</head>
<body>
Hello HTML
</body>
</html>
w3cschool Flask教程
Flask框架web开发视频