vlambda博客
学习文章列表

6-2,数据可视化-flask初识


新建flask project ,开启debug模式

from flask import Flask
app = Flask(__name__)
@app.route('/index')def hello(): return '你好!'
if __name__ == '__main__': app.run(debug=True)

6-2,数据可视化-flask初识6-2,数据可视化-flask初识

勾选之后,点击OK,新建的运行文件删除掉,每次运行的时候使用右上角的调试按钮,之后debug模式即可开启。

  • 通过访问路径获取用户的字符串参数,若:

#通过访问路径获取用户的字符串参数@app.route('/user/<name>')def welcome(name): return '你好,%s'%name


6-2,数据可视化-flask初识

  • 通过访问路径获取用户的整型参数,若

#通过访问路径获取用户的整型参数 此外还有float类型@app.route('/user/<int:id>')def welcome2(id): return '你好,%d 号的会员'%id

6-2,数据可视化-flask初识

注:路由的路径不能重复,用户通过唯一路径访问特定函数

  • 返回给用户渲染后的网页文件,若:

from flask import Flask,render_template#渲染模板,将html文件展示出来#返回给用户渲染后的网页文件@app.route('/')def index(): return render_template('index.html')

index.html文件为

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>网页</title></head><body> 欢迎光临</body></html>


6-2,数据可视化-flask初识

  • 向页面传递一个变量,若

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文件为

<!DOCTYPE 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>

输出

6-2,数据可视化-flask初识

  • 表单提交和接收表单,若

#表单提交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.form return render_template('test/result.html',result=result)

register.html文件为

<!DOCTYPE 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文件为

<!DOCTYPE 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>

输出

提交之后

本号所写文章除特殊申明外所有资源来源于网络,仅用于个人学习参考之用,如有侵权请联系我删除。