zoukankan      html  css  js  c++  java
  • Flask02-Template

    ## 基础使用
    
        $ vim app/templates/index.html
        > <html>
        >   <head>
        >     <title>{{title}} - microblog</title>
        >   </head>
        >   <body>
        >       <h1>Hello, {{user.nickname}}!</h1>
        >   </body>
        > </html>
    
        $ vim 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)
    
    ## 模板中控制语句( if-else for )
    
        $ vim app/templates/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>   
    
        $ vim app/views.py
        > def index():
        >     user = { 'nickname': 'Miguel' } # fake user
        >     posts = [ # fake array of posts
        >         {
        >             'author': { 'nickname': 'John' },
        >             'body': 'Beautiful day in Portland!'
        >         },
        >         {
        >             'author': { 'nickname': 'Susan' },
        >             'body': 'The Avengers movie was so cool!'
        >         }
        >     ]
        >     return render_template("index.html",
        >         title = 'Home',
        >         user = user,
        >         posts = posts)
    
    ## 模板继承
    
        $ vim 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>
    
        $ vim app/templates/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 %}
  • 相关阅读:
    vue
    mongodb
    ejs模板引擎
    ajax
    node.js2
    node.js1
    bootstrap,ECMA
    商城
    面试:----Struts和springmvc的区别--区别上
    OpenStack
  • 原文地址:https://www.cnblogs.com/mlsec/p/8595275.html
Copyright © 2011-2022 走看看