继承、宏、包含

继承: 1、创建父类模块news_base.html,所有子类的代码都合并写在父类模块news_base.html里面。

                  子类之间代码不同的地方在父类中抽取成{%block 名称 %} {% endblock %}

             2、子类:{% extends 'news_base.html' %}继承父类。

                             {%block 名称 %} {% endblock %}改写对应的block。

                  如下图:

{% extends 'news_base.html' %}

{% block titleBlock %}
首页-新经资讯
{% endblock %}

{% block scriptBlock %}
<script type="text/javascript" src="../static/js/index.js"></script>
{% endblock %}

{% block categoryBlock %}
<ul class="menu fl">
    <li class="active" data-cid="0"><a href="javascript:;">最新</a></li>
    <li data-cid="1"><a href="javascript:;">股市</a></li>
    <li data-cid="2"><a href="javascript:;">债市</a></li>
    <li data-cid="3"><a href="javascript:;">商品</a></li>
    <li data-cid="4"><a href="javascript:;">外汇</a></li>
    <li data-cid="5"><a href="javascript:;">公司</a></li>
</ul>
{% endblock %}

宏 :      1、在一个模块macro.html里定义宏:{% macro input()%}。 macro相当于def,是定义的意思。input是 函数名。()里面填参数。

{% macro input(label='', type='text', name='', value='')%}
    <label>{{ label }}</label><input type="{{ type }}" name="{{ name }}" value="{{ value }}"><br/>
{% endmacro %}

             2、在另一个模块里导入上面模块起别名:{% import 'macro.html' as func %}。func是别名

             3、{{ 别名.函数名(参数)}} —> {{ func.input() }}

{% import 'macro.html' as func %}

<form>
    {{ func.input('用户名:', name="username") }}
    {{ func.input('身份证号:', name="idcard") }}
    {{ func.input('密码:', type="password", name="password") }}
    {{ func.input('确认密码:', type="password",name="password2") }}
    {{ func.input(type="submit", value="注册") }}
</form>

包含: 1、{% include 需要导入的模块名 ignore missing %}。  ignore missing作用:即使要导入的模块不存在,也不会报错。

吃饭,睡觉,做事 <br>


{% include 'include.html' ignore missing %}


生活简单如此 <br>





  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值