美文网首页
Django教程(4)——Django模板语法

Django教程(4)——Django模板语法

作者: Hemmelfort | 来源:发表于2018-08-20 21:51 被阅读64次

    目标:
    了解Django模板的常用方法。

     

    1. 一个典型的模板文件头

    {% load staticfiles %}
    <head>
        <title>{{ WebTitle }} </title>
        <link rel="shortcut icon" href="{% static 'image/favicon.ico' %}">
        <script src="{% static 'js/jquery.min.js' %}"></script>
    </head>
    

    其中{% load staticfiles %}用以加载静态文件路径。
    使得后面的{% static 'image/favicon.ico' %}能够找得到。
    {{ WebTitle }}是占位符,需要通过在views.py给变量WebTitle赋值。
    (注意命令是个大括号夹两个百分号,变量是两个大括号)

    Django是遵循MVC模式的开发框架,所以模板与views.py的联系密不可分。

     

    2. 模板的继承

    父页面father.html

    <body>
        父页面这里定义了一个区块 SubContent ,由继承者在子页面中修改
        {% block SubContent %}
        {% endblock %}
    </body>
    

    子页面son.html

    {% extends father.html %}
    {% block SubContent%}
        <p>
            子页面在开头用 extends 方法继承了父页面,需要定义父页面中名为 SubContent 的区块。
            添加内容的位置在 block 和 endblock 标志之间。
        </p>
    {% endblock %}
    

    注意:继承命令{% extends father.html %}必须写在最前面!
     

    3. 模板的嵌套

    假设网页菜单栏为menu.html,当其他页面要使用该菜单栏时可以在需要放置的地方添加

    {% include 'menu.html' %}
    

     

    4. 条件判断与循环语句

    Django的模板中也会用到if语句和for语句,例如:

    {% for item in List %}
         {% if 'something' in item %}
              <p> hehe </p>
         {% else %}
              <div> {{ item }} </div>
         {% endif %}
    {% endfor %}
    

    其中for/ in/ if/ endif/ endfor是关键字,List是views.py传来的参数。

     

    总结:
    Django模板语法主要形式:
    {% 命令 参数 %}
    {% 命令 %}
    {{ 变量 }}

    相关文章

      网友评论

          本文标题:Django教程(4)——Django模板语法

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