美文网首页
Django之模板语言

Django之模板语言

作者: 魏云舒 | 来源:发表于2018-08-01 12:00 被阅读0次
    Django之模板语言

    1、setting.py中模板设置

    TEMPLATES=[
         {
            'DIRS':[ os.path.join(BASE_DIR, 'templates ')]
          }
    ]
    

    2、注意结构(url短路)

    app1/templates/app1/index.html
    app2/templates/app2/index.html
    

    3、模板语言(四种)

    • 变量 {{ fitst_name }}
      local() ——引入全局变量
      中间要有空格

    • 标签 {% %}
      起始和结束标签
      {% csrf_token %} #令牌标签
      {% load static %}
      {% url %}

    {% for i in list %} {% endfor %}

    {% if condition1 %} content1
    {% elif condition2 %} content2
    {% else %} content3
    {% endif %}

    • 过滤器 {{ django|title}
      {{ value|defualt:"默认值" }}
      {{ value|length }} #value的长度
      {{ value|filesizeformat }} #格式化人类可读大小

    • 注释
      单行注释: {# 内容#}
      多行注释:{% comment %}内容{% endcomment %}

    4、模板继承

    • 父模板 base.htm
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <link rel="stylesheet" href="style.css"/>
        <title>{% block title %} Mysite {% endblock %}</title>  
    </head>
    
    <body>
        <div id = "sidebar">
            {% block sidebar %}
            <ul>
                <li> 首页 </li>
                <li> 页面1 </li>
                <li> 页面2 </li>
            </ul>
        </div>
    
        <div id = "content">
            {% block content %} {% endblock %}
        </div>
    </body>
    
    • 子模版
    {% extend "base.html" %}  # 引入父模板
    {% block title %} {{ section.titile }}{% endblock%}
    {% block content %}  
        {% include ‘blog/nav_bat.html’ %}  # 把另一个模板导入进来
    {% endblock %}
    
    • html 转义
      脚本攻击:
      Hello, <script>alert('OK')<script> 脚本形式
      {{ string|escape }} #强制转义

    相关文章

      网友评论

          本文标题:Django之模板语言

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