06、模板的规划和设计

子模板函数载入的变量可以在父模板中使用,例:

#Base.html <nav id="topnav" class="f_r"> <ul> {% for category in category_list %} <a href="#" target="_blank">{{ category }}</a> {% endfor %} </ul> <script src="{% static 'js/nav.js' %}"></script> </nav> {% block left_content %}{% endblock %}

index.html

{% extends "base.html" %}
{% load staticfiles %}
{% block left_content %}
<do something>
{ % endblock % }

在index.html对应的函数载入的变量可以直接在Base中使用

def index(request):
    try:
        category_list = Category.objects.all()
    except Exception as e:
        logger.error(e)
    return render(request, "index.html",{"category_list":category_list})
# 载入到index.html得函数category_list可以直接在Base.html中使用

功能点:

1、模板的规划和设计

2、导航数据获取(分类)

技术点:

1、如何拆分一个模板,如何抽离出base模板,如何规划和设计模板中的block,以及include的使用 (一些比较公用的模块可以单独抽离出来,并通过include调用),比如广告

  • 通常把常用的区域做成base.html模板,并在需要改变的区域写入block标记.供其他html文件调用

  • 父模板,使用{ % block 设定锁定区域名称 % } { % endblock % }

  • 在block和endblock中间是可以被写入的的内容区域

      <article>
          {% block left_content %}{% endblock %}
          <div class="tit01">
            <h3>关注我</h3>
            <div class="gzwm">
              <ul>
                <li><a class="xlwb" href="#" target="_blank">新浪微博</a></li>
                <li><a class="txwb" href="#" target="_blank">腾讯微博</a></li>
                <li><a class="rss" href="portal.php?mod=rss" target="_blank">RSS</a></li>
                <li><a class="wx" href="mailto:admin@admin.com">邮箱</a></li>
              </ul>
            </div>
          </div>
      </article>
    

1、继承模板使用{ % extend 'base.html' % } 2、编辑锁定区域{ % block 设定的名称 %}{ % endblock % } 3、直接调用其他html文件,被调用文件不需设置{ % include 'ad.html' % }

{% extends "base.html" %}
{% load staticfiles %}
{% block left_content %}
  <div class="l_box f_l">
    {% include "ad.html" %}
    <div class="topnews">
      <h2>最新文章</h2>
      <div class="blogs">
        <ul>
          <h3><a href="/">住在手机里的朋友</a></h3>
          <p>通信时代,无论是初次相见还是老友重逢,交换联系方式,常常是彼此交换名片,然后郑重或是出于礼貌用手机记下对方的电话号码。在快节奏的生活里,我们不知不觉中就成为住在别人手机里的朋友。又因某些意外,变成了别人手机里匆忙的过客,这种快餐式的友谊 ...</p>
        </url>  
{% endblock %}
223916_bL9y_2663968.jpg
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值