jinja2 templates模板初接触

2019-03-09  本文已影响0人  张大超Charlie

模板路径:

Flask中的参数template_folder指定模板路径,
无template_folder默认当前目录templates

app = Flask(__name__, template_folder='/home/charlie/桌面/flask/jinja2/templates')
# template_folder指定模板路径,默认当前目录templates

模板传递参数:

  1. 在使用‘render_template'渲染模板的时候,可以传递关键字参数。
    以后直接在模板中使用就可以啦。
  2. 如果你的参数过多,那么可以将所有参数放到一个字典中,
    然后在传这个字典参数的时候,使用两个星号,将字典打散成关键字参数。
@app.route('/')
def hello_world():
    context = {
        'username': 'charlie',
        'age': 18,
        'country': 'China',
        'mother': {
            'name': 'Mameihua',
            'age': 42
        }
    }
    return render_template('index.html', **context)
    

在html中打印出参数

{#模板传参数#}
<p>{{ username }}</p>
<p>{{ age }}</p>
<p>{{ country }}</p>
<p>{{ mother.name }}</p>

模板中使用url_for

模板中的url_for跟我们后台视图函数中的‘url_for'
使用起来基本一模一样。也是传递视图函数的名字,也可以传递参数。
使用起来要在url_for左右两边加上{{ url_for() }};

{#模板使用url_for#}
<p><a href=" {{ url_for('login') }}">登录</a></p>
上一篇 下一篇

猜你喜欢

热点阅读