Flask
static用于存放css/js文件,用来提供网页相关素材
templates存放html文件,反馈用户想要的内容
模板
from flask import Flask,render_template,result
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello world!'
if __name__ == '__main__':
app.run(debug=True)
应用
#路由解析,通过用户访问的路径(路径不能重复),匹配相应的函数
#通过访问路径,获取用户的字符串参数
@app.route1('/user/<name>')
def hello_world(name):
return 'Hello,%s'%name #Hello,输入的名字
#通过访问路径,获取用户的整型参数 还可float类型
@app.route2('/user/<int:id>')
def hello_world(id):
return 'Hello,%d'%id+"号会员" #Hello,2号会员
#返回给用户渲染后的网页文件
@app.route3('/')
def index():
return render_template("index.html")
if __name__ == '__main__':
app.run(debug=True) #开启debug模式,修改后直接刷新网页即可,不需要重启,可查看错误位置
页面传递
@app.route('/')
def index():
time = datetime.date.today() #普通变量
name = ["小张","小王","小赵"] #列表类型
task = {"任务":"打扫卫生","时间":"3小时"} #字典
return render_template("index.html",var = time,list = name,task = task)
<body>
欢迎光临,今天是{{ var }}<br/>
今天值班的有:<br/>
{% for data in list %} <!--用大括号和百分号括起来的是控制结构,还有if-->
<!-- {{ data }}-->
<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>
表单提交
#表单提交
@app.route('/test/register')
def register():
return render_template("test/register.html")
#接收表单提交的路由,需要指定methods为post
@app.route('/result',methods=['POST','GET'])
def result():
if request.method == 'POST':
result = request.form
return render_template("test/result.html",result = result)
<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>
<body>
欢迎光临,今天是{{ var }}<br/>
今天值班的有:<br/>
{% for data in list %} <!--用大括号和百分号括起来的是控制结构,还有if-->
<!-- {{ data }}-->
<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>