码迷,mamicode.com
首页 > 其他好文 > 详细

重新捡起flask(五)

时间:2017-11-25 13:07:26      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:jin   做了   出现   and   debug   secret   man   一个   bootstrap   

又想蹭点东西了...

这里主要是想来复习一下jinja2模板的一些内容。

之前其实很快的过了jinja2里面写一些if或for控制语句的东西。

真到现在想直接写一些,却有些忘了,如果你也忘了,我们一起来回忆一些吧。

{% if bool_var %}

  {{ some_func() }}

{% else %}

  ouch

{% endif %}

上面是默写的,也不知道是不是对的。我仿着思路再写一下for的吧。

{% for i in is %}

  {{ some_func() }}

{% endfor %}

 

{% while bool_var %}

  {{ some_func() }}

{% endwhile %}

不记得有没有while了,我现在来看书确认一下。

while狗书上每说,估计是没有的。

其实我们看到jinja2里面的一些规则也算直接。

jinja2自己提供的模板语句,用{% %}

你引用的变量或着函数,用{{ }}抱起来。

其他就写成html就好了。

说到这里,再做了一个小彩蛋的测试,假设把狗书里的一个去掉,详见下方test函数代码的注释。

from flask import Flask, render_template
from flask import request
# from flask_script import Manager
from flask_bootstrap import Bootstrap
from flask_moment import Moment
from datetime import datetime
from flask_wtf import Form
from wtforms import StringField, SubmitField
from wtforms.validators import Required

class NameForm(Form):
    name = StringField("你是什么名字?", validators=[Required()])
    submit = SubmitField("提交")

app = Flask(__name__)
app.config["SECRET_KEY"] = "my_flasky"
bootstap = Bootstrap(app)
moment = Moment(app)

# manager = Manager(app)

@app.route("/")
def index():
    return render_template("index.html", current_time = datetime.now())

@app.route("/user/<name>")
def user(name):
    return render_template("user.html", name = name)

@app.errorhandler(404)
def page_not_found(e):
    return render_template(404.html), 404

@app.errorhandler(500)
def page_not_found(e):
    return render_template(500.html), 404

@app.route("/test", methods=[GET, POST])
def test():
    name = None
    form = NameForm()
    if form.validate_on_submit():
        name = form.name.data
        # form.name.data = ""
    return render_template("test.html", form=form, name=name)


if __name__ == "__main__":
    app.run(debug=True)

会出现什么样的结果呢?

这个其实和白胡子叔叔讲ios第一课里面的那个问题很像。不过两者解决思路是不同的。

我也是刚刚想到这两个问题真的很像....

 

重新捡起flask(五)

标签:jin   做了   出现   and   debug   secret   man   一个   bootstrap   

原文地址:http://www.cnblogs.com/onhacker/p/7894558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!