跟上一篇文章一样的内容,Flask默认支持的模板是jinja2
jinja2简单实用:
- 1 在Jinja2模板中,我们用{{ name }}表示一个需要替换的变量。很多时候,还需要循环、条件判断等指令语句,在Jinja2中,用{% … %}表示指令
{% for i in page_list %}
<a href="/page/{{ i }}">{{ i }}</a>
{% endfor %}
除了Jinja2,常见的模板还有:
Mako:用<% … %>
和${xxx}
的一个模板;
Cheetah:也是用<% … %>
和${xxx}
的一个模板;
Django:Django是一站式框架,内置一个用{% … %}
和{{ xxx }}
的模板。
主工程代码:
# @Time : 2017/10/14 17:22
# @Author : 蛇崽
# @Email : 643435675@QQ.com
# @File : FlaskTempletes.py MVC模板类
from flask import Flask
from flask import request
from flask import render_template
app = Flask(__name__)
@app.route('/',methods=['GET','POST'])
def home():
return render_template('home.html')
@app.route('/signin',methods=['GET'])
def signin_form():
return render_template('form.html')
@app.route('/signin',methods=['POST'])
def signin():
username = request.form['username']
password = request.form['password']
if username == 'admin' and password == 'password':
return render_template('sign_ok.html',username=username,password=password)
return render_template('form.html',message='Bad username or password',username=username)
if __name__ == '__main__':
app.run()
templetes与py同级
各HTML代码截图: