@1kbfree
        
        2018-05-16T15:11:06.000000Z
        字数 2096
        阅读 1662
    flask
首先创建一个
templates文件夹,用于存放模板的(不懂百度)。


index.html代码: 

app的代码:
from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')def index():return render_template('index.html') #如果访问了127.0.0.1就会打开这个index.html文件,然后呈现在页面上if __name__ == '__main__':app.run(debug=True,host='127.0.0.1',port=80)

from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')def index():return render_template('index.html',name = 'iamfree',age = 16) #就是说把这里的内容传递到html里if __name__ == '__main__':app.run(debug=True,host='127.0.0.1',port=80)
index.php文件代码: 
 
结果: 

那么这里有一个问题,就是我们要传递给模板的参数多了,我们该怎么办呢,下面来看下操作
from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')def index():context = {}context['name'] = 'iamfree'context['age'] = 16return render_template('index.html',**context) #这里里的**context等价于name=iamfree,age=16if __name__ == '__main__':app.run(debug=True,host='127.0.0.1',port=80)
代码中**的用法: 

from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')def index():context = {}class Obj():name = 'iamfree'age = 16o = Objcontext['obj'] = oreturn render_template('index.html',**context) #就是说把这里的内容传递到html里if __name__ == '__main__':app.run(debug=True,host='127.0.0.1',port=80)

from flask import Flask,render_templateapp = Flask(__name__)@app.route('/index/<option>')def index(option):context = {}context['option'] = optionreturn render_template('index.html',**context)if __name__ == '__main__':app.run(debug=True,host='127.0.0.1',port=80)
模板语句:if判断
 
 

模板for循环
from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')def index():users = {'name':'iamfree','age':16}return render_template('index.html',users=users)if __name__ == '__main__':app.run(debug=True,host='127.0.0.1',port=80)

结果: 

过滤器格式: 变量名|过滤器
{ var | reverse}}  对var进行反转 
{{ "hello world" | reverse | upper }}  把helloword反转后,在全部大写
safe:禁用转义
capitalize:把变量值的首字母转成大写,其余字母转小写
lower:把值转成小写
upper:把值转成大写
title:把值中的每个单词的首字母都转成大写
reverse:字符串反转
format:格式化输出
striptags:渲染之前把值中所有的HTML标签都删掉
truncate: 字符串截断
first:取第一个元素<p>{{ [1,2,3,4,5,6] | first }}</p>
last:取最后一个元素<p>{{ [1,2,3,4,5,6] | last }}</p>
length:获取列表长度<p>{{ [1,2,3,4,5,6] | length }}</p>
sum:列表求和<p>{{ [1,2,3,4,5,6] | sum }}</p>
sort:列表排序<p>{{ [6,2,3,1,5,4] | sort }}</p>

