zoukankan      html  css  js  c++  java
  • Django学习(六) 模板

    下面是一个新闻的模板:mysite/news/templates/news/year_archive.html

    mysite/news/templates/news/year_archive.html

    {% extends "base.html" %}

    {% block title %}Articles for {{ year }}{% endblock %}

    {% block content %}
    <h1>Articles for {{ year }}</h1>

    {% for article in article_list %}
    <p>{{ article.headline }}</p>
    <p>By {{ article.reporter.full_name }}</p>
    <p>Published {{ article.pub_date|date:"F j, Y" }}</p>
    {% endfor %}
    {% endblock %}

    基础模板base.html如下:

    mysite/templates/base.html
    {% load staticfiles %}
    <html>
    <head>
    <title>{% block title %}{% endblock %}</title>
    </head>
    <body>
    <img src="{% static "images/sitelogo.png" %}" alt="Logo" />
    {% block content %}{% endblock %}
    </body>
    </html>

    year_archive.html模板继承base.html模板

    其中base.html模板中定义了基本的结构,然后空出了好多可替换的模块。子模板可以替换这些模块。例如base模板中定义了title是可替换的模块,那么在子模板year_archive中可以通过替换这个title模块达到个性化的目的。base中定义可替换模块是通过"  {% block title %}{% endblock %}  "来进行定义的。其中title是可替换的模块名称,其他均属于格式要求。如果在子模块中替换的话需要: {% block title %}  Articles for {{ year }}   {% endblock %}  将基础模板拷贝,然后中间添加上需要替换的内容。其中获取后台传递过来的变量用 " {{}} "将后台传递过来的变量包裹住。

  • 相关阅读:
    Eclipse 配置黑色主题
    [转发] win8安装mindget mindmanger
    2013.9小记
    【转发】Eclipse报错:Referenced classpath provider does not exist
    NoSql数据库初探-mongoDB读操作
    配置mongoDB服务
    NoSql数据库初探-mongoDB环境搭建
    pdf2htmlEx安装及测试
    关于ubuntu16无线网卡RTL8723BE频繁掉线及信号不足的解决办法
    一个简单的消息提示jquery插件
  • 原文地址:https://www.cnblogs.com/nihousheng/p/4549736.html
Copyright © 2011-2022 走看看