flask从入门到精通,知识讲解+代码演示 day1
一、flask是什么?
首先了解一下什么是flask
flask是基于python的web框架,由Werkzeug和Jinja构成。
Werkzeug提供路由和测试,调试和web服务器的网关结构,Jinja2提供模板
flask有着以下特点:
1. 良好的文档
2. 丰富的插件
3. 包含开发服务端和调试器
4. 集成单元测试
5. RESTful请求调度
6. 支持安全从cookies
7. …
接着我们开始学习flask的使用
二、使用步骤
1.创造flask项目
这边我们使用的是PyCharm来学习flask,创建项目时我们直接选择flask项目并创建
2.初入flask
当我们创建好flask项目后,PyCharm会自动帮我们生成有个app.py的文件,如下所示
这段代码可以直观理解为,当在浏览器中输入http://127.0.0.1:5000/后将执行hello_world函数,并将Hello world!返回到页面中
其中,这个路径的前部分为固定模板,协议+ip+端口的形式,而/则是@app.route()中所写
例如,当另外写一个@app.route(‘hello’)时,在浏览器的地址栏输入http://127.0.0.1:5000/hello即可。
from flask import Flask #引入flask包
# 使用Flask创建有个app对象,并且传递__name__参数,固定的,记住就可以了
app = Flask(__name__)
# app.route装饰器,映射URL和执行函数,这个设置是将跟URL映射到hello_world函数上
@app.route('/')
#访问url后执行的函数
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
3.flask代码初运行
- 当这段代码运行时,若成功,则会出现如下信息(直接运行是一定会成功的)
此时,我们点击蓝色链接进入网页后会发现
页面中出现了Hello World!的字样,和我们return中的一样
4. flask从地址中获取参数值
- 由上面可知,我们的路径是从@app-route中设置,当我们需要从路径中获取参数时,我们也时从此处进行修改
from flask import Flask
app = Flask(__name__)
@app.route('/<num>')
def hello_world(num):
print(num)
return 'Hello World!'
if __name__ == '__main__':
app.run()
我们用<参数名>的方式来使用地址中传输的参数,参数默认为字符串型,当我们想要给参数确认类型时,使用数据类型:参数的形式,例如 int:id ,此时,当我们输入路径
会在控制台中输出我们传输的参数
5.实践时间
这段代码就由读者自己观看学习了
from flask import Flask
app = Flask(__name__)
books=[
{'id':1,'name':'三国演义'},
{'id':2,'name':'水浒传'},
{'id':3,'name':'西游记'},
{'id':4,'name':'红楼梦'},
]
@app.route("/book/<int:book_id>")
def book_list(book_id):
print(book_id)
for book in books:
if book_id==book['id']:
return book
return "id为{}的图书不在列表中".format(book_id)
if __name__ == '__main__':
app.run()