Flask框架学习笔记
Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架,可以使用Python语言快速实现一个网站或Web服务。
一、入门
-
目录框架(最简单的)
Flask-demo/
├ run.py :应用启动程序
├ config.py :环境配置
├ static/
│ ├ css/ : css文件目录
│ ├ img/ : 图片文件目录
│ └ js/ : js文件目录
├ templates/ :html文件目录
├ forms.py :存放所有表单,如果多,将其变为一个包
├ models.py:存放所有数据模型,如果多,将其变为一个包
└ views.py:存放所有视图函数,如果多,将其变为一个包 -
测试
(1)安装flask
pip install flask
(2)测试
from flask import Flask
#构造函数使用当前模块(__name __)的名称作为参数
app = Flask(__name__)
#route()函数是一个装饰器,它告诉应用程序哪个URL应该调用相关的函数
#app.route(rule,options) rule:表示与函数的url绑定 options:给rule对象的参数列表
@app.route("/")
def index():
return "hello,world!"
#app.run(host,port,debug,options)
if __name__ == "__main__":
app.run(app.run(debug=True,port=5000,host='127.0.0.1'))
运行打开网页:http://localhost:5000
可以看到测试结果
二、Flask相关知识
1. 路由
其实很简单,就是设置一个路由地址,后续访问该地址即可
@app.route('/index')
def index():
return 'hello world'
2. 变量规则
通过向规则参数添加变量部分,可以动态构建URL。
@app.route("/<name>")
def name(name):
return "hello %s!" % name
当在浏览器访问时,输入变量,页面内容也会相应改变
访问:http://localhost:/5000/zhangsan
结果:hello zhangsan!
除了使用字符串,还可以使用
#整型变量
@app.route("/<int:postID>")
def int_id(postID):
return "hello %d!" % postID
#浮点型变量
@app.route("/<float:postID>")
def float_id(postID):
return "hello %f!" % postID
3. url构建与重定向
url_for()函数对于动态构建特定函数的URL非常有用,接受函数的名称作为第一个参数,以及一个或多个关键字参数,每个参数对应于URL的变量部分。
Flask类有一个redirect()函数。调用时,它返回一个响应对象,并将用户重定向到具有指定状态代码的另一个目标位置。
redirect()函数有三个参数,redirect(location, statuscode, response)
- location参数是应该重定向响应的URL。
- statuscode发送到浏览器标头,默认为302。
- response参数用于实例化响应。
#省略一些模板的代码!
from flask import Flask,redirect,url_for
@app.route("/<user>")
def index(user):
return "hello,world!+++%s"