收集到的数据可以在不同平台展示,也可以展示不同的数据效果。
web框架。核心为Werkzeng(路由分发)和jinja2(页面渲染)。
创建一个flask的框架的java项目,目录中
static | 用来存放css,js等 |
---|---|
templates | 用来存放网页 |
优点:
创建flask项目
from flask import Flask
app = Flask(__name__)
#路由解析,通过用户访问的路径,匹配相应的函数
@app.route('/a')
def hello_world(): # put application's code here
return 'Hello aaa!'
if __name__ == '__main__':
app.run()
访问网址:http://127.0.0.1:5000/a
结果:Hello aaa!
#通过访问路径,获取用户的字符串参数
@app.route('/user/')
def welcome(name):
return "你好,%s"%name
#通过访问路径,获取用户的整型参数 此外还有float参数
@app.route('/user/')
def welcome2(id):
return "你好,%d号的会员"%id
#路由路径不能重复,用户通过唯一路径访问特定的函数
显然。我们想要的不仅仅是文字内容,我们想要的是一个页面。
我们就需要用到jinja2.
首先,我们要在templates下创建一个index.html文件,写欢迎光临
#返回用户渲染后的网页文件
@app.route("/")
def index2():
return render_template("index.html")
#引用定义变量
from flask import Flask,render_template
import datetime
app = Flask(__name__)
#向页面传递一个变量
@app.route("/")
def index2():
time = datetime.date.today() #普通变量
name = ["zhang","wang","li"] #列表类型
task = {"任务":"到扫卫生","时间":"3h"} #字典类型
return render_template("index.html",var = time,list = name,task = task)
#启动
if __name__ == '__main__':
app.run()
index.html如下
欢迎你
欢迎光临,今天是{{ var }}。
今天值班的有:
{% for data in list %}
{{ data }}
{% endfor %}
任务:
{% for key,value in task.items() %}
{{ key }}
{{ value }}
{% endfor %}
register.html页面表单填写,跳转result.html页面显示填写内容
在templates下创建文件夹test,创建两个html文件,register.html,result.html
#引用定义变量
from flask import Flask,render_template,request
import datetime
app = Flask(__name__)
#表单提交
@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' :
#post方法,想要拿到页面内容(表单)用request.form
result = request.form
return render_template("test/result.html",result = result)
#启动
if __name__ == '__main__':
app.run()
register.html
#
result.html
{% for key,value in result.items() %}
{{ key }}
{{ value }}
{% endfor %}