zoukankan      html  css  js  c++  java
  • Django笔记04

    模板层

    {{}}  变量相关

    {%%}   逻辑相关

      前端获取容器类型的数据统一使用句点符(.)

    模板传递值的方式

    # 以字典的方式传值
    return
    render(request,'index.html',{'name':'jason','age0':'18'})
    # 将所有变量都传到前台,弊端是前端不需要的也会传到前台
    return render(request,'index.html',locals())

    过滤器

    语法
      {{ obj|filter_name:param }}  变量名|过滤器名称:变量
    default
      如果一个变量是false或者为空,指定默认值
      {{ value|default:"nothing" }}
    length
      返回值的长度
      {{ value|length }}
    filesizeformat
      将值格式化为一个以B,KB为单位的字符串
      {{ value|filesizeformat }}
    date
      格式化当前时间
      {{ value|date:"Y-m-d" }}
    slice
      切片
      {{ value|slice:"2:-1" }}
    truncatechars
      超过指定数量以...显示
      {{ value|truncatechars }}
    safe
      取消转义
      {{ value|safe }}
      后端实现
      from django.utils.safestring import mark_safe
      ss = mark_safe("<h1>我是h1</h1>")

    标签

    for标签:遍历每一个元素
    {% for person in person_list %}
      <p>{{ person.name }}</p>
    {% endfor %}
    可以通过{{ forloop }}来获取循环序号
    {% empty %}当被循环的对象为空时执行empty后的语句

    if标签
    与后端逻辑相同

    with标签
      当一个名字太过复杂可以取别名
      {% with 名字 as 别名 %}
      {% endwith %}

    自定义标签,过滤器,inclusion_tag

    都必须做的事
      1 必须在app下新建一个名为templatetags的文件夹
      2 在文件夹下创建任意名称的py文件
      3 在文件内写下面两句话
        from django import template
        resgiter = template.Library()
      4 在html文件中使用时需要加载:{% load 文件名 %}

    过滤器
      使用的装饰器:@register.filter()
      使用方式与过滤器相同

    标签
      使用的过滤器:@register.simpl_tag()
      使用的方式与标签相同

    inclusion_tag
      调用能够返回一段html代码
      使用的装饰器:@inclusion_tag("存放html代码的文件")
      使用方式:{% 函数名 参数 %}

    模板的继承

      写一个模板,留出扩展的区域,可以留多个区域,区域留的越多可扩展性就越高

      {% extends 模板文件 %}

      {% block 名字 %}

      {% endblock %}

      在子模板中使用原模板内的内容:{{ block.super }}

    模板的导入

      写一个组件,可以被重复使用

      {% include "模板文件" %}

  • 相关阅读:
    python解析网页中js动态添加的内容
    pycharm索引index时间很长的原因
    github/gitlab ssh-keys全局唯一
    使用gc、objgraph干掉python内存泄露与循环引用!
    ImportError: No module named _curses;Color support is disabled, python-curses is not installed.解决办法
    jinjia2模板学习
    flask可以通过缓存模板或者页面达到性能提升
    python的websocket实现Tornado
    flask的debug模式下,网页输入pin码进行调试
    Git 环境安装
  • 原文地址:https://www.cnblogs.com/LinChengcheng/p/10717465.html
Copyright © 2011-2022 走看看