Flask 将表单数据发送到模板
Flask 将表单数据发送到模板:关联的文章:
Flask request 属性详解
HTML之表单设计
1、get请求
- 注意点:如下action中url效果同
<form action="/test3">
,具体使用见《HTML表单设计》
(1)html文件:
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body>
<!--1:默认get请求,2:action中url效果同/test3,具体见文章HTML表单设计中action属性介绍--><form action="http://10.12.224.153:5569/test3"><!-- 这是一个普通的文本输入框 -->请输入数字1:<input type="text" name="number1"><br><!-- 这是一个普通的文本输入框 -->请输入数字2:<input type="text" name="number2"><br><!-- 这个一个重置按钮,可以将非默认值进行清空 --><br><input type="reset"><!-- 使用type="submit"这个一个提交按钮,可以将内容提交到后台服务器--><input type="submit"></form><br><textarea rows="5" cols="38">返回结果为:{{data}}</textarea>
</body></html>
(2)视图函数
- 注意点:因为请求方法为get,因此使用request.args.get()方法,并且获取的值是字符串类型,详情见《Flask request 属性详解》
from flask import Flask, render_template,Blueprint,requestform222 = Blueprint('formDis222', __name__)
#实例化蓝图对象
#两个必要参数':
# 第一个参数:蓝图名字,自定义'
# 第二个参数:__name__'蓝图所在的模块或者包,一般为'__name__'变量;
# 第三个参数:url_prefix,非必填,,表示在该蓝图下,所有的url地址访问路径中都要加上xxx路径,即域名/xxx/路由@form222.route('/test2')#在蓝图对象上进行操作,路由
def fromtest2():return render_template('order1.html')@form222.route('/test3',methods=['GET','POST']) #定义视图函数支持的请求方法
def formtest3():if request.method == 'GET':number11 = request.args.get('number1') #因为请求方法为get,因此使用request.args.get()方法,并且获取的值是字符串类型number22 = request.args.get('number2') #因为请求方法为get,因此使用request.args.get()方法,并且获取的值是字符串类型numberA = number11 + number22return render_template('order1.html',data=numberA)
2、post请求
- 注意点:如下action中url效果同
<form action="/test5">
,具体使用见《HTML表单设计》
(1)html文件
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head><body>
<!--1:定义请求方法为post,2:action中url效果同/test5,具体见文章HTML表单设计中action属性介绍--><form action="http://10.12.224.153:5569/test5" method="post"><!-- 这是一个普通的文本输入框 -->请输入数字1:<input type="text" name="number3"><br><!-- 这是一个普通的文本输入框 -->请输入数字2:<input type="text" name="number4"><br><!-- 这个一个重置按钮,可以将非默认值进行清空 --><br><input type="reset"><!-- 使用type="submit"这个一个提交按钮,可以将内容提交到后台服务器--><input type="submit"></form><br><textarea rows="5" cols="38">返回结果为:{{data}}</textarea>
</body></html>
(2)视图函数
- 注意点:因为请求方法为post,因此使用request.form.get()方法,并且获取的值是字符串类型,详情见《Flask request 属性详解》
from flask import Flask, render_template,Blueprint,requestform333 = Blueprint('formDis333', __name__)
#实例化蓝图对象
#两个必要参数':
# 第一个参数:蓝图名字,自定义'
# 第二个参数:__name__'蓝图所在的模块或者包,一般为'__name__'变量;
# 第三个参数:url_prefix,非必填,,表示在该蓝图下,所有的url地址访问路径中都要加上xxx路径,即域名/xxx/路由@form333.route('/test4')#在蓝图对象上进行操作,路由
def fromtest4():return render_template('order2.html')@form333.route('/test5',methods=['GET','POST']) ##定义视图函数支持的请求方法
def formtest5():if request.method == 'POST':number33 = request.form.get('number3') #因为请求方法为post,因此使用request.form.get()方法,并且获取的值是字符串类型number44 = request.form.get('number4') #因为请求方法为post,因此使用request.form.get()方法,并且获取的值是字符串类型numberB = number33 + number44return render_template('order2.html',data=numberB)