zoukankan      html  css  js  c++  java
  • Django--知识补充

    自定义标签或过滤器

    渲染变量的方法(过滤器:修改数据或格式转换)

    {{ var | add }}
    {{ var | date:"Y-m" }} 
    {{ var | safe }}
    

    渲染标签的方法

    {% tag_name %}
    {% for %}……{% endfor %}
    {% csrf_token %}
    

    自定义

    需要在应用目录下创建templatetags的包
    然后在里面创建Python脚本。

    自定义过滤器

    参数必须是两个

    from django import template
    # 实例化的名字必须是register
    register = template.Library()
    
    @register.filter
    def func_filter(var1,var2):
        ……
        return ……
    
    # 使用时:
    {{ var | func_filter:1 }}
    

    自定义标签

    无参数限制

    @register.simple_tag
    def func_tag(var1,var2):
        ……
        return ……
    
    # 使用方法
    {% func_tag var 2 %}
    

    加载自定义的

    #在HTML文件开头写上
    {% load my_tags %}
    

    使用include引用

    在页面中有独立固定模块时使用。
    在template目录下创建include_demo.html,不需要HTML的结构,在其中直接定义标签和内容。
    引用时使用 {% include 'include_demo.html' %}

    extend时变量获取问题

    views里写一个函数用来拿这些变量,供别的函数调用。会导致数据和样式脱离。
    把固定部分且有变量的拆成一个单独的模块。
    在需要引用的页面中直接include引入模块还是拿不到变量。

    使用自定义可引用标签解决

    在templatetags里的自定义tag脚本里写

    @register.inclusion_tag("blog/menu.html")
    def get_menu(user):
        ……
        return {……}
    

    在渲染标签前线执行函数,拿到返回字典传给引入的模块。

    前段使用它 {% get_menu user %}
    view函数在返回时都要返回一个user变量供标签使用。

  • 相关阅读:
    一个用户下表、批量授予权限给另一个用户
    查询表使用率
    查询临时表空间大小及压缩空间大小
    创建表空间
    About SSDT BI
    在Win8中用批处理创建Oracle数据库时报“Unable to open file”
    收藏网址
    shell输入与输出功能
    shell变量类型和运算符
    shell文件权限和脚本执行
  • 原文地址:https://www.cnblogs.com/jinyudong/p/8560146.html
Copyright © 2011-2022 走看看