具体的文件排列如下图:
register.html代码如下:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> <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</title> </head> <body> <table border="1">{%for key,value in result.items() %} <!----[(key,value ),( key,value ),( key,value )]-----><tr><th>{{ key }}</th><td>{{ value }}</td></tr>{% endfor %}</table> </body> </html>
index2.html代码如下:
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>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() %} <!----[(key,value ),( key,value ),( key,value )]-----><tr><td>{{ key }}</td><td>{{ value }}</td></tr>{% endfor %}</table></body> </html>
app.py代码如下:
from flask import Flask,render_template,request import datetimeapp = Flask(__name__)#路由解析,通过用户访问的路径匹配相应的函数 # @app.route('/') # def hello_world(): # # return '各鞋位'+name#debug模式开启@app.route('/index') def hello():return '各鞋位'#通过访问路径获取用户的字符串参数 # @app.route('/user/<name>') # def welcome(name): # # return '各鞋位,%s'%name#通过访问路径获取用户的整形参数 此外还有,float类型 @app.route('/user/<int:id>') def welcome(id):return '各鞋位,%d号的会员'%id#路由的路由路径不能重复,用户通过唯一路径访问特定的函数#返回给用户渲染后的网页文件 # @app.route('/') # def index2(): # return render_template("index2.html")#向页面传递一些变量 @app.route('/') def index3():time = datetime.date.today() #普通变量name = ["校长","小王","校招"] #列表类型task = {"任务":"大人","时间":"三小时"} #字典类型return render_template("index2.html",var = time,list = name,task =task)#表单提交 @app.route('/test/register') def regisiter():return render_template("test/register.html")#接受表单提交的路由需要指定methods为post @app.route('/result',methods =['POST','GET']) def result():if request.method =='POST':result = request.formreturn render_template("test/result.html",result = result)if __name__ == '__main__':app.run(debug=True)