@app.route('/test/')def test():form1 = TestForm1()form2 = TestForm2()return remder_template('test.html',form1=form1,form2=form2)<form action="/test1/ method="post"> {{ form1.field() }}<input type="submit" value="提交" /></form><form action="/test2/ method="post"> {{ form2.field() }}<input type="submit" value="提交" /></form>
再编写两个视图函数分别接收form1,form2提交的数据:
@app.route('/test1/', method=['POST'])def test1():# 处理代码 @app.route('/test2/', method=['POST'])def test2():# 处理代码
当所有的结束时,用户通过单击页面顶部的注销链接注销,该链接向视图发送GET请求/logout:
@app.route('/logout', methods=['GET']) def logout():
session.pop('username', None)
flash('Logged out.')
return redirect(url_for('index'))
这username将从session对象中删除并将访问者带回主页。
以下内容是从本教程所基于的Flask教程中借用的(经过一些修改)。这是style.css位于的文件/blog/static。
body { font-family: sans-serifbackground: #eee}
a , h1 , h3 { color: #377ba8}
h1 , h2 , h3 { font-family: 'Georgia', serifmargin: 0}
h1 , h2 { border-bottom: 2px solid #eeepadding: 3px}
h3 { padding: 3px}
dd { display: blockmargin-left: 0px}
dl { font-weight: bold}
a :visited { color: #800080}
.page { margin: 2em autowidth: 35emborder: 5px solid #cccpadding: 0.8embackground: white}
.posts { list-style: nonemargin: 0padding: 0}
.posts li { margin: 0.8em 1.2em}
.posts li h2 { margin-left: -1em}
.metanav { text-align: rightfont-size: 0.8empadding: 0.3emmargin-bottom: 1embackground: #fafafa}
.flash { background: #cee5F5padding: 0.5emborder: 1px solid #aacbe2}
.error { background: #f0d6d6padding: 0.5em}
宏定义就是在html中写函数,然后调用函数的一种方法
{%from 'function.html' import show_stus%}
2种方法
safe:渲染标签
striptags:渲染之前去掉标签
trim:去掉空格
length:计算长度
first:第一个
last:最后一个
lower:全部小写
upper: 全部大写
capitalize:首字母大写