前提
- 了解了
Flask的基本操作
python打造个人管理系统01-创建初始项目
交互操作
一、接收客户端的参数
from flask import Flask
app = Flask(__name__)
@app.route('/<name>')
def hello(name):
return f'hello, {name}'
请求URL: http://127.0.0.1:5000/rikka
返回结果: hello, rikka
注:
默认情况下,Flask获取的变量类型是String,上面的实例实际上是<string:name>。Flask还可以接收以下的类型:
<int:xxx>
<float:xxx>
<path:xxx> 包含下划线的字符串路径类型
<uuid:xxx> UUID类型
二、HTTP 的请求方法
@app.route('/login', methods=['POST'])
@app.route('/login', method=['POST', 'GET'])
三、接收表单参数
通过 request 来获取表单传来的参数
app.route('/login', methods=['POST'])
def login():
if request.method == 'POST':
username = request.form['username']
password = request.form['password']
通过
request.method获取到HTTP的请求方法
通过request.form获取前端传来的表单数据
request.cookies.get('xxx') # 获取cookies
request.files['file'] # 获取上传的文件
四、模板引擎渲染
在项目中新建一个 templates 文件夹,用于存放模板文件。在里面新建一个模板文件 index.html
mkdir templates
cd templates
vim index.html
<title>标题</title>
<h1>你好啊, {{ name }}</h1>
from flask import render_template
@app.route('/hi/<name>')
def hello(name):
return render_template('index.html', name=name)
通过
render_template将变量传递给index.html
五、404响应
当用户访问不存在的业务时,会得到一个404的响应。可以通过 errorhandler 拦截并定义自己的404响应。
@app.errorhandler(404)
def page_not_found(error):
return '你查找的页面不存在', 404
其它响应错误码或异常都可以通过
errorhandler拦截并自定义。
六、页面重定向
@app.route('/baike')
def baike():
return redirect('http://www.baidu.com')
@app.route('/search')
def search():
return redirect(url_for('/login')) # 重定向至我的 login 路由中去
七、响应对象的获取
通过 make_response() 方法可以获取到响应对象。
@app.route('/login')
def login():
resp = make_response(render_template('fxxk.html'))
resp.headers['name'] = 'lucy'
return resp
通过URL请求可以查到,该请求的 回复头 中含有 name 的参数。
八、响应API
from flask import Flask
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False # 防止中文乱码
message = {"message": "ok", "data": [{"name": "lucy", age: 20}]}
@app.route('/info')
def info():
return jsonify({'message': message})
九、session会话
通过 Flask 的 session 对象可以存储到用户的一些特定信息,比如我们可以对已经登录的用户做一些数据标识或存储,避免用户每次访问服务都需要登录。
session['username'] = request.form['username'] # 使用 session 保存用户信息
if 'lucy' in session:
pass # 已经登录,可以直接访问
session.pop('username') # 用户退出登录后,在session移除该用户
总结
本文用作了解基本知识,不纳入项目的一部分。
- 了解了一些
Flask的常用操作:- 请求方式
- 获取参数
- 渲染模板
- 错误拦截、重定向
- 响应获取
- API
- session会话
原创
python打造个人管理系统02-Flask的交互操作
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法