• 【1023 | Day 51】模板传值/过滤器/标签/模板继承/模板导入


    1. 模板传值

    • 传函数名的时候 会自动加括号调用函数 将函数的返回值展示在html页面上
    • django模板语法不支持函数传参
    • django模板语法在获取容器类型内部元素的值的时候 统一只采用 句点符(.)
    • 传函数,函数若没有返回值,则网页会显示None

    2. 过滤器(|)

        #(前端代码并不一定非要在前端写  你也可以在后端写好 传递给前端页面)
        #前后端取消转义
            #前端 
                |safe
            #后端
                from django.utils.safestring import mark_safe
                sss2 = "<a href='http://www.xiaohuar.com'>下午上课 需要激情</a>"
                res = mark_safe(sss2)
            """
            #模板语法的符号就两种
                {{}}  变量相关
                {%%}  逻辑相关
    

    3. 标签

    标签:

    • if判断
    • for循环

    4. 自定义过滤器、标签

    步骤:

    • 在应用名下面新建一个templatetags文件夹(必须叫这个名字)

    • 在改文件夹下 新建一个任意名称的py文件

    • 在该py文件内 固定先写两行代码

              from django.template import Library
              register = Library()
      

    自定义的过滤器VS自定义的标签:

    @register.filter(name='myplus')
         def index(a,b):
            return a + b
    @register.simple_tag(name='mysm')
         def login(a,b,c,d):
            return '%s/%s/%s/%s'%(a,b,c,d)
    

    区别

    标签不能再if中使用
    {% if 0|myplus:123 %}可以用
    有值
    {% endif %} 
    

    5. 模板继承

    #事先需要再模板中 通过block划定区域
            
            {% block 区域名字 %}
    
            {% endblock %}
    #子板中如何使用
            {% extends '模板的名字'%}
            
            {% block 区域名字 %}
                <h1>登录页面</h1>
            {% endblock %}
                    
    #一个页面上 block块越多 页面的扩展性越高
    
    
    #通常情况下 都应该有三片区域
            {% block css %}
    
            {% endblock %}
            
            {% block content %}
    
            {% endblock %}
            
            {% block js %}
    
            {% endblock %}
    
    #子板中还可以通过
        {{ block.super }}  来继续使用母版的内容
    

    6. 模板导入

    • 当你写了一个特别好看的form表单
    • 你想再多个页面上都使用这个form表单
    • 你就可以将你写的form表单当作模块的形式导入
    • 导入过来之后 就可以直接展示
        {% include 'good_page.html' %}
    
  • 相关阅读:
    AJAX省市县三级联动
    AJAX,JSON搜索智能提示
    AJAX,JSON用户名校验
    原生JS操作AJAX
    JSON和GSON操作json数据
    Servlet之Cookie操作
    路径问题--转发、重定向、表单、超链接
    4418: [Shoi2013]扇形面积并|二分答案|树状数组
    近200篇机器学习&amp;深度学习资料分享
    【Android】Eclipse自己主动编译NDK/JNI的三种方法
  • 原文地址:https://www.cnblogs.com/fxyadela/p/11728123.html
Copyright © 2020-2023  润新知