什么是Flask?
Flask是python中轻量级的web框架,简单的说,就是用来写网页的,做前端开发的。
怎么使用Flask?
先是一个简单的flask-web代码
以下是最简单的web搭建代码:
from flask import Flask
# 从flask 模块中 引用Flask
app = Flask(__name__)
# 创建一个Flask应用对象并为其赋值
# 赋值内容是__name__是该文件的名字
# 当然可以用别的字符串
# 创建一个路由和视图函数的映射
@app.route("/")
# route直译过来是 路线的意思
# 该语句表示的是 域名/ 这个路线
def index():
return "hello world"
if __name__ == "__main__":
app.run()
运行上面代码的终端效果图:
逐一分析,第一句的意思是,正在提供服务的Flask应用叫做“app”,因为我们用__name__给Flask对象赋的值,而我们的py文件名又叫app.py,所以Flask应用的名字就叫“app”。第二句的意思是,调试模式:未开启。
对于WARNING:这是一个开发服务器。请勿在生产部署中使用它。请改用生产 WSGI 服务器。一句话说:这是用来学习的服务器,商业开发请用别的。
对于域名:在本地开发环境中,默认的域名是 localhost
或 127.0.0.1
,以及一个指定的端口号。
例如,http://localhost:5000
或 http://127.0.0.1:5000
是在本地运行的 Flask 应用的默认访问地址。
如果我们要访问我们编写的网站,只需要点击py文件运行后终端里生成的蓝色网址即可看见。
路由与视图函数
@app.route('/') 等价于网址 http://127.0.0.1:5000/
def index():
return "hello world"
代码中的@app.route("/")创建的是一个根路由,也就是http://127.0.0.1:5000/这个网址,当我们访问这个网址的时候,就会自动运行路由下的视图函数也就是index,当然视图函数的名字是可以自己起的,但是要注意的是不同路由下的视图函数的名称必须不一样,不然会报错。
再是一个html - flask - web的代码
这是index.html中的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>测试</title>
</head>
<body>
hello html and flask
</body>
</html>
这是app.py中的代码:
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def index():
return "hello flask"
@app.route("/user/")# 等价于 根路由/user/
def user():
return render_template("index.html")
# render_template 直译过来是 渲染模板
# render_template会进行一个html模板渲染成网页
if __name__ == "__main__":
app.run()
我们运行代码后,点击终端里的网址后:
这是网址为根路由时,网站就会用index()这个视图函数,然后就会返回一个字符串叫做“hello flask”然后就会在网页上显示出来。
但当我们把网址手动改成如下时:
网站就会用user()这个视图函数,然后用index.html编写好的网站。