zoukankan      html  css  js  c++  java
  • flask jinja2 语法——变量、控制结构及模板继承

    ##   jinja.py

    <!DOCTYPE html>
    <html lang="en">
    <head>
    {% block head %}
    <meta charset="UTF-8">
    <title>Welcome</title>
    {% endblock %}
    </head>
    <body>
    <header>{% block header %}{% endblock %}</header>
    <div>{% block content %}{% endblock %}</div>

    {#{% for item in items %}#}
    {# <li>{% block loop_item scoped %}{{ item }}{% endblock %}</li>#}
    {#{% endfor %}#}
    <footer>
    {% block footer %}
    Copyright 2018 by <a href="www.baidu.com">baidu</a>
    {% endblock %}
    </footer>
    </body>
    </html>
    -----------------------------------------------------------------------------------------------------------


    ##  index.html

    {#<!DOCTYPE html>#}
    {#<html lang="en">#}
    {#<head>#}
    {# <meta charset="UTF-8">#}
    {# <title>welcome</title>#}
    {#</head>#}
    {# <body>
    {#{{ title|safe }}#}
    {#</body> #}
    {% extends 'base.html' %}
    {% import '_macros.html' as ui %}
    {#{% macro input(name, value='', type='text', size=20) %}#}
    {# <input type="{{ type }}"#}
    {# name="{{ name }}"#}
    {# value="{{ value }}"#}
    {# size="{{ size }}"#}
    {# />#}
    {#{% endmacro %}#}
    {% block title %}{{ title }}{% endblock %}
    {% block content %}
    {% set links=[
    {'label':'index', 'href':url_for('.index')},
    {'label':'about', 'href':url_for('.about')},
    {'label':'login', 'href':url_for('.login')},
    ] %}
    <nav>
    {% for link in links %}
    {# {% if loop.index is odd %} | {% endif %}#}
    {% if not loop.first %} | {% endif %}
    <a href="{{ link.href }}">{{ link.label }}</a>
    {% endfor %}
    </nav>
    <h1>{{ self.title() }}</h1>

    {{ ui.input('username') }}
    {{ ui.input('password', type='password') }}
    {% endblock content %}
    {% block footer %}
    <hr>
    {{ super() }}
    {% endblock %}

    {#</html>#}

    --------------------------------------------------------------------------
    ##  base.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
    {% block head %}
    <meta charset="UTF-8">
    <title>Welcome</title>
    {% endblock %}
    </head>
    <body>
    <header>{% block header %}{% endblock %}</header>
    <div>{% block content %}{% endblock %}</div>

    {#{% for item in items %}#}
    {# <li>{% block loop_item scoped %}{{ item }}{% endblock %}</li>#}
    {#{% endfor %}#}
    <footer>
    {% block footer %}
    Copyright 2018 by <a href="www.baidu.com">baidu</a>
    {% endblock %}
    </footer>
    </body>
    </html>
    ---------------------------------------------------------------------------------
    _macros.html
    {% macro input(name, value='', type='text', size=20) %}
    <input type="{{ type }}"
    name="{{ name }}"
    value="{{ value }}"
    size="{{ size }}"
    />
    {% endmacro %}



  • 相关阅读:
    系统设计题:如何设计一个电商平台积分兑换系统!
    服务器上部署多台mysql
    log4j日志输出格式一览
    Intellij IDEA 智能补全
    什么是旅行商问题——算法NP、P、NPC知识
    如何找到两个升序数组归并后的升序数组的中位数
    Java 不同进制的字面值
    Android 进程和线程
    美图秀秀2015年实习生android应用开发方向招聘笔试题
    Android:Layout_weight的深刻理解
  • 原文地址:https://www.cnblogs.com/pontoon/p/8598649.html
Copyright © 2011-2022 走看看