美文网首页
Django - 模板结构优化

Django - 模板结构优化

作者: 前端程序猿 | 来源:发表于2018-12-13 00:23 被阅读0次

    接着 自定义模板过滤器 往下讲

    一、引入模板

    include 标签的使用

    • 新建 templates/header.html

      <header>头部</header>
      
    • 新建 templates/footer.html

      <footer>尾部</footer>
      
    • 修改 templates/index.html

      <body>
      {% include 'header.html' %}
      <div>内容</div>
      {% include 'footer.html' %}
      </body>
      

    include 标签中的模板查找路径

    参照 render_to_string的模板查找路径

    include 标签引入的模板可以引用当前模板中的变量

    • 修改 front/views.py

      def index(request):
          context = {
              'title': 'Django'
          }
          return render(request, 'index.html', context=context)
      
    • 修改 templates/header.html

      {#头部 Django#}
      <header>头部 {{ title }}</header>
      
    • 但为了所有引用 templates/header.html 的模板都能使用 title 变量, 可以在 include 标签中传递该变量

      修改 templates/index.html

      {#头部 Young and Beautiful#}
      {% include 'header.html' with title='Young and Beautiful' %}
      

    二、模板继承

    • 新建 templates/base.html

      <body>
      {% include 'header.html' with title='Young and Beautiful' %}
      <div>
          {% block content %}
              默认内容
          {% endblock %}
      </div>
      {% include 'footer.html' %}
      </body>
      
    • 修改 templates/index.html:

      {% extends 'base.html' %}
      
      {% block content %}
      首页中的内容
      {% endblock %}
      
    • 访问 block 标签被覆盖的内容:

      templates/index.html:

      {% extends 'base.html' %}
      
      {% block content %}
      首页中的内容
      <p>{{ block.super }}</p>
      {% endblock %}
      

    相关文章

      网友评论

          本文标题:Django - 模板结构优化

          本文链接:https://www.haomeiwen.com/subject/cvimhqtx.html