6-2,数据可视化-flask初识
新建flask project ,开启debug模式
from flask import Flaskapp = Flask(__name__)def hello():return '你好!'if __name__ == '__main__':app.run(debug=True)
勾选之后,点击OK,新建的运行文件删除掉,每次运行的时候使用右上角的调试按钮,之后debug模式即可开启。
通过访问路径获取用户的字符串参数,若:
#通过访问路径获取用户的字符串参数@app.route('/user/<name>')def welcome(name):return '你好,%s'%name
则
通过访问路径获取用户的整型参数,若
#通过访问路径获取用户的整型参数 此外还有float类型@app.route('/user/<int:id>')def welcome2(id):return '你好,%d 号的会员'%id
则
注:路由的路径不能重复,用户通过唯一路径访问特定函数
返回给用户渲染后的网页文件,若:
from flask import Flask,render_template#渲染模板,将html文件展示出来#返回给用户渲染后的网页文件@app.route('/')def index():return render_template('index.html')
index.html文件为
<html lang="en"><head><meta charset="UTF-8"><title>网页</title></head><body>欢迎光临</body></html>
则
向页面传递一个变量,若
import datetime#向页面传递一个变量@app.route('/')def index1():time = datetime.date.today() #普通类型name = ['小张','小王','小李'] # 列表类型task = {'任务':'打扫卫生','时间':'3小时'} # 字典类型return render_template('index.html',var = time,list = name,task = task)
html文件为
<html lang="en"><head><meta charset="UTF-8"><title>网页</title></head><body>今天的时间是:{{ var }},欢迎光临 <br/>今天值班的有:<br/>{% for data in list %} <!--用大括号和百分号括起来的是控制结构,还有if--><li>{{ data }}</li>{% endfor %}任务:<br/> <!--了解一下如何在页面打印表格,以及如何迭代--><table border="1">{% for key,value in task.items() %} <!--当使用items时,字典就变成[(key,value),(key,value),(key,value)]--><tr><td>{{key}}</td><td>{{value}}</td></tr>{% endfor %}</table></body></html>
输出
表单提交和接收表单,若
#表单提交from flask import Flask,render_template,request@app.route('/test/register')def register():return render_template('test/register.html')#接收表单的路由需要指定method为POST@app.route('/result',methods=['POST','GET'])def result():if request.method == 'POST':result = request.formreturn render_template('test/result.html',result=result)
register.html文件为
<html lang="en"><head><meta charset="UTF-8"><title>网页</title></head><body><!--form action="http://localhost:5000/result" method="post"--><!--此处网址不应该写死,应动态获取网址,即动态找到路由路径--><form action="{{ url_for('result') }}" method="post"><p>姓名:<input type="text" name="姓名"></p><p>年龄:<input type="text" name="年龄"></p><p>性别:<input type="text" name="性别"></p><p>地址:<input type="text" name="地址"></p><p><input type="submit" value="提交"></p></form></body></html>
result.html文件为
<html lang="en"><head><meta charset="UTF-8"><title>提交结果</title></head><body><table border="1">{% for key,value in result.items() %} <!--当使用items时,字典就变成[(key,value),(key,value),(key,value)]--><tr><th>{{key}}</th><td>{{value}}</td></tr>{% endfor %}</table></body></html>
输出
提交之后
