zoukankan      html  css  js  c++  java
  • Django 模板系统2

    1. tags
    2. 母版和继承
      1. 母版
      就是一个普通的HTML文件,提取多个页面的公共部分
      减少代码量 修改十分方便

      定义block块

      2. 使用(继承)
      在子页面中
      {% entends 'base.html' %}
      重新修改block块中的内容
      3. 注意事项:
        1. 把{% extends 'base.html' %} 写在第一行
        2. 修改的内容写在block中,写在外面不显示
        3. {% extends name %} name应该是变量 或者是字符串 继承母版的名字
        4. 母版中定义多个block块,一般还有 js 块 和 css块



    3. 组件
      1. 就是一小段HTML代码 多个页面都用到的内容 nav.html
      2. 在任意的模板中使用
      {% include 'nav.html' %}



    4. 静态文件相关

      1. {% load staticfiles %} 或者 {% load static %}
      2. {% static 'css/pub.css' %} ——》 先去settings中获取STATIC_URL的配置,和后面提供的参数进行拼接

        1. {% load static %}
        2. <link rel="stylesheet" href="{% get_static_prefix %}css/pub.css">



    5. 自定义simpletag和自定义inclusion_tag
      1. 在app下创建一个名叫templatetags的python包
      2. 在templatetags里建一个py文件
      3. 在py文件中编辑:
      from django import template
      register = template.Library()


      @register.simple_tag
      def join_str(arg1, arg2, arg3,*args,**kwargs):
      print(args)
      print(kwargs)
      return '_'.join([arg1, arg2, arg3])+'*'.join(args)

      @register.inclusion_tag('pagination.html')
      def pagination(total, current):
      return {'total': range(1, total + 1), 'current': current}

      4.使用
      {% load py文件名 %}
      {% 函数名 参数1 参数2 %}

      

  • 相关阅读:
    Zabbix5 Frame 嵌套
    Zabbix5 对接 SAML 协议 SSO
    CentOS7 安装 Nexus
    CentOS7 安装 SonarQube
    GitLab 后台修改用户密码
    GitLab 查看版本号
    GitLab Admin Area 500 Error
    Linux 安装 PostgreSQL
    Liger ui grid 参数
    vue.js 是一个怪东西
  • 原文地址:https://www.cnblogs.com/zhaosijia/p/9627803.html
Copyright © 2011-2022 走看看