Flask实践——microblog 模板 (2)

模板

  1. 创建app/templates/index.html
    <html>
      <head>
        <title>{{title}} - microblog</title>
      </head>
      <body>
          <h1>Hello, {{user.nickname}}!</h1>
      </body>
    </html>
  2. 修改 app/views.py
    from flask import render_template
    from app import app
    
    @app.route('/')
    @app.route('/index')
    def index():
        user = { 'nickname': 'Miguel' } # fake user
        return render_template("index.html",
            title = 'Home',
            user = user)
  3. 模板中控制语句,使用{%…%}代码块
    修改index.html
    <html>
      <head>
        {% if title %}
        <title>{{title}} - microblog</title>
        {% else %}
        <title>microblog</title>
        {% endif %}
      </head>
      <body>
        <h1>Hi, {{user.nickname}}!</h1>
        {% for post in posts %}
        <p>{{post.author.nickname}} says: <b>{{post.body}}</b></p>
        {% endfor %}
      </body>
    </html>
  4. 模板继承
    使用block控制语句来定义派生模板可以插入的地方,创建app/templates/base.html
    <html>
      <head>
        {% if title %}
        <title>{{title}} - microblog</title>
        {% else %}
        <title>microblog</title>
        {% endif %}
      </head>
      <body>
        <div>Microblog: <a href="/index">Home</a></div>
        <hr>
        {% block content %}{% endblock %}
      </body>
    </html>

    修改index.html

    {% extends "base.html" %}
    {% block content %}
    <h1>Hi, {{user.nickname}}!</h1>
    {% for post in posts %}
    <div><p>{{post.author.nickname}} says: <b>{{post.body}}</b></p></div>
    {% endfor %}
    {% endblock %}

     

源码

posted @ 2018-04-26 15:05  lnkDel  阅读(260)  评论(0编辑  收藏  举报