• Django---模版层


    ---https://www.cnblogs.com/liuqingzheng/articles/9509806.html

    一、处理浏览器转义字符串的两种方式

      1、{{ str|safe }}

      2、在后台view.py      from django.utils.safestring import mark_safe

       reslut = '<a>sxs</a>'

       return mark_safe(result)

    二、自定义标签和过滤器

    1、在settings中的INSTALLED_APPS配置当前app,不然django无法找到自定义的simple_tag.

    2、在app中创建templatetags模块(模块名只能是templatetags)

    3、创建任意 .py 文件,如:my_tags.py

    from django import template
    from django.utils.safestring import mark_safe
     
    register = template.Library()   #register的名字是固定的,不可改变
     
     
    @register.filter
    def filter_multi(v1,v2):
        return  v1 * v2
    <br>
    @register.simple_tag
    def simple_tag_multi(v1,v2):
        return  v1 * v2
    <br>
    @register.simple_tag
    def my_input(id,arg):
        result = "<input type='text' id='%s' class='%s' />" %(id,arg,)
        return mark_safe(result)

    4、在使用自定义simple_tag和filter的html文件中导入之前创建的 my_tags.py

    1
    {% load my_tags %} 

    5、使用simple_tag和filter(如何调用)

     
    -------------------------------.html
    
    {% load xxx %}  
          
    # num=12
    {{ num|filter_multi:2 }} #24
     
    {{ num|filter_multi:"[22,333,4444]" }}
     
    {% simple_tag_multi 2 5 %}  参数不限,但不能放在if for语句中
    {% simple_tag_multi num 5 %}

    注意:filter可以用在if等语句后,simple_tag不可以

    {% if num|filter_multi:30 > 100 %}
        {{ num|filter_multi:30 }}
    {% endif %}
  • 相关阅读:
    linux jdk1.8安装
    spring boot jar包 linux 部署
    mysql linux安装
    codesmith 三层架构
    数据库分库分表(sharding)系列(三) 关于使用框架还是自主开发以及sharding实现层面的考量
    android学习路线
    博客资源
    dotNET跨平台研究的相关文档
    Foundation框架—— 数组 (NSArray NSMutableArray )
    OC面向对象特性: 继承
  • 原文地址:https://www.cnblogs.com/di2wu/p/10052572.html
Copyright © 2020-2023  润新知