Django框架之模板层(d75)
一 模版语法之变量:
 ** locals() 会把*该*视图函数内的变量,传到模板
    ** return render(request, 'index.html', locals())
 1 {{ 变量 }}:******重要******{#相当于print了该变量#}
  只写函数名:相当于函数名(),执行该函数,打印函数返回值
 2 深度查询---->统一都用句点符 .
  拓展:不能调有参数的方法
二 模版之过滤器
 1语法:{{第一个参数|过滤器名字:第二个参数}}
 2常用过滤器:(详细用法见源码)
  1 length  返回列表中元素的个数或字符串长度
  2 default 如果值不存在,则使用默认值代替
  3 slice 切片操作, 返回列表 # {{ 'asdikfjhih' | slice:':5' }} 返回 ‘asdik’
  4 date   格式化日期    {{ ctim|date:'Y-m-d' }}
  5 filesizeformat 增加数字的可读性,转换结果为13KB  {{ 1024 | filesizeformat }} 返回 1.0KB
  6 truncatechars 字符串字符多于指定的字符数量,那么会被截断。截断的字符串将以可翻译的省略号序列(“...”)结尾
  7 truncatewords 将字符串转换为省略表达方式  {{ 'This is a pen' | truncatewords:2 }}返回  This is ...
  8 safe 单独的变量我们可以通过过滤器“|safe”的方式告诉Django这段代码是安全的不必转义
  9 add 给value加上一个数值  {{ user.age | add:”5” }} 
三 模版之标签 : {% 标签 %}
  1 for: forloop:对象(里面有好多东西:parentloop,last,first,counter....)忘记的话, 自己打印一下
   empty:  被循环的对象是空,才走它
   for循环可以嵌套,也可以用if
  2 if:
   {% if forloop.first %}
    <p>第一次的我 </p>
   {% elif forloop.last %}
    <p>最后的我 </p>
   {% else %}
    <p>{{ foo }}</p>吧
   {% endif %}
  3 with:重命名,应用在变量名过长
  ********都要有结束******{%endif%}  {%endfor%}  {%enwith%}
四 自定义标签和过滤器 
 1 自定义过滤器
  1 先app是不是已经在setting中注册
  2 在app下创建一个templatetags(****名字不能变***)的文件夹(模块)
  3 在模块下创建一个py文件,名字随意:mytag.py
  4 第一步,导入template
     from django.template import Library
    第二步,定义一个叫register的变量=template.Library()
     register = Library()
  5 写一个函数,用@register.filter(name='yyy')装饰一下(可以指定别名)
   def str_add(str1, str2): #一定要有返回值
    # 业务逻辑很复杂
    return str1 + str2
  6 在模板里:(新定定义的标签,过滤器,都要重启程序)
   {% load mytag %}
   {{'lqz'|str_add:'nb'}}
  **过滤器,可以用在if判断
 2 自定义标签:
  1-4:前4步,根过滤器的定义完全一样
  5 只是装饰器不一样
   @register.simple_tag()
    def add_nb(value):
     return value+'nb'
  6 在模板里:(多个参数,以空格区分)
   {% load mytag %}
   {% add_nb 'lqz'%}
  **标签不能用在if判断
五 模版导入-->写了一个好看的组件,可以复用,
 1 写一个模板
 2 在模板中:{% include '模板的名字'%}
六 模板的继承
 1 写一个母版,留一个可扩展的区域(盒子),可以留多个盒子(留的越多,可扩展性越高)
  {%block 名字%}
   可以写内容
  {%endblock%}
 2 在子模板中使用:
  {%block 名字%}
   子模板的内容
  {%endblock 名字%}
七 静态文件相关
 1 写死静态文件:<link rel="stylesheet" href="/static/css/mycss.css">
 2 使用 static标签函数:
  -{%load static%}
  #static返回值,会拼上传参的路径
  -{% static "传参"%}
 3 使用get_static_prefix 标签
  -{%load static%}
  #get_static_prefix返回值是:静态文件的地址,相当于/static/
  -{% get_static_prefix %}css/mycss.css

Django基础模板层(75-76)的更多相关文章

  1. Django基础——模板层(template) (Day67)

    阅读目录 变量 标签 自定义过滤器和标签 模板层(template) 你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python代码之中. 1 2 3 4 ...

  2. 04-01 Django之模板层

    Django之模板层 一 模板简介 在刚刚介绍完的视图层中我们提到,浏览器发送的请求信息会转发给视图函数进行处理,而视图函数在经过一系列处理后必须要有返回信息给浏览器.如果我们要返回html标签.cs ...

  3. python 全栈开发,Day69(Django的视图层,Django的模板层)

    昨日内容回顾 相关命令: 1 创建项目 django-admin startproject 项目名称 2 创建应用 python manage.py startapp app名称 3 启动项目 pyt ...

  4. Django的模板层简介

    Django的模板层 如果我们想要利用视图函数返回一个页面,一种比较简单的方式是利用HttpResponse()方法返回一个含有html内容的字符串: def current_datetime(req ...

  5. Django框架-模板层

    Django框架-模板层 一.模板语法传值 1.验证是否python所有的数据类型都可以传递到前端 locals()的妙用:该方法虽然好用,但是在某些情况下会造成资源的浪费 结论:整型.浮点型.字符串 ...

  6. Django之模板层细说

    django的模板层,基于我们前面学习的内容,也知道主要语法是{{变量相关}}{%逻辑相关%},那么具体还有哪些内容呢?且听我娓娓道来. 模板层(模板语法) 标签 过滤器 自定义标签,过滤器,incl ...

  7. 5、Django之模板层

    一 模板简介 在刚刚介绍完的视图层中我们提到,浏览器发送的请求信息会转发给视图函数进行处理,而视图函数在经过一系列处理后必须要有返回信息给浏览器.如果我们要返回html标签.css等数据给浏览器进行渲 ...

  8. Django 基础 模板系统

    Django模板系统 官方文档 常用语法 只需要记两种特殊符号: {% %} 'b', 'c', 'd']的话,就显示4. filesizeformat 将值格式化为一个 “人类可读的” 文件尺寸 ( ...

  9. 053.Python前端Django框架模板层

    模板层 一 模板语法之变量 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法: {{ var_name }} [root@node10 mysite]# cat app01/urls. ...

随机推荐

  1. python笔记-数学、元组、日期、文件

    python在很多地方和C++相似,比如都会有关系.逻辑等运算符,但也有不同的地方,比如:#Python Number 类型转换int(x [,base ]) 将x转换为一个整数 long(x [,b ...

  2. ArcMap复制粘贴问题

    ArcMap 10.2能进行复制,但是不能进行粘贴的问题: 前几天用朋友的ArcMap10.2时,偶然发现在编辑数据的时候,需要在不同的shp层之间操作,往往有时候可以复制,但是粘贴那一项是灰色的,经 ...

  3. ArcGIS中的坐标系:基本概念和常用操作(一)

    本文呢是主要是借鉴李郎平李大大的博士论文和百度百科,里面还有一点点我自己的理解,希望能帮助自己加深对于坐标系的认识. 李大大的博客:http://blog.sciencenet.cn/u/Brume ...

  4. SQLI DUMB SERIES-17

    (1)无论怎么输入username,都没有回显.尝试改变password的输入.找到了闭合方式:单引号 (2)报错注入: 爆库名 admin&passwd=admin' and extract ...

  5. PowerShell在激活virtualenv虚拟环境时禁止运行的脚本的解决办法

    问题描述 在使用Django开发网站项目时,为了便于修改.维护以及项目部署,使用了virtualenv虚拟环境.这个工具允许你维护多个分离的Python环境,每个都具有它自己的库和包的命名空间.这种情 ...

  6. C语言入门(1)

    开始学习C语言 第一个C语言程序 #include<stdio.h> int main() { printf("Hello World!"); } C程序结构 1. 头 ...

  7. 20164301 Exp3 免杀原理与实践

    Exp3 免杀原理与实践  1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程 1.2 通过组合应 ...

  8. python2.7安装django1.8后提示django-admin.py命令不存在

    ln -s /usr/local/Python2.7/bin/django-admin.py /usr/local/bin/django-admin.py 将python命令目录下的django-ad ...

  9. REST SOAP Thrift 对比

    别人的REST SOAP Thrift对比: 单项分数越高越好 项目 REST SOAP Thrift Extensibility 5 3 1 Neutrality 2 4 3 Independenc ...

  10. PythonStudy——闭包

    # closure:被包裹的函数,称之为闭包 # 完整的闭包结构:1.将函数进行闭包处理:2.提升函数名的作用域 # 案例:延迟加载 def get_site(url): #url='https:// ...