一. 模板变量

Context传入的可以是一个str,dict,list,甚至是一个实例对象

在html中如何调用这些对象进行取值呢

1. 变量名

{{ variable }}

返回字符串,无论是str,list,dict

2. list取值

{{ list.index }}

如{{ list.0}},{{ list.1}},分别取list的第一个元素和第二个元素

3. dict取值

{{ dict.key }}

如{{ user.name }} ,name={'name':'Tom'}

4. 实例取值或调用方法

{{ instance.attribute }}

{{ instance.function }}  #不用加括号

示例展示见下图

二、 逻辑运算符

and or 不能共存

三、 判断语句

not表示不存在,为空,或者为0

四、 循环loop

  语法:

{% for ... in ... %}
{% endfor %}
 

  

判断是否为空有两种方法

  

  循环的索引

五、过滤器

 过滤器相当于管道,对HTML中的变量执行一系列的函数

 这些过滤器有内置的,也可以自定义:

 这里自定义一个在字符串末尾加%的过滤器

 在app(blog)文件夹下,新建一个名为(templatetags)文件夹(其实是一个包,那么就需要新建一个空的__init__.py文件)

在文件夹中,新建py文件,名字自取(但要和后面{% load name %})对应起来,这里命名myfilter.py

#myfilter.py

from django import template
register = template.Library() def percent(value):
return value + "%" register.filter(percent)

#index.html

{% load myfilter %}
<h1>男生比例:{{ male_proportion | percent }}</h1>

Django入门二之模板语法的更多相关文章

  1. Django(二) 模板:基本使用、模板语法、模板继承

    一.模板的使用实战 接:https://blog.csdn.net/u010132177/article/details/103788677 参考:https://docs.djangoproject ...

  2. Django实战(二)之模板语言

    该实战教程基于菜鸟教程,菜鸟教程可参考:http://www.runoob.com/django/django-template.html 模板语法,每个框架都有其支持的模板语法,Django的模板语 ...

  3. vue入门:(模板语法与指令)

    vuejs使用及HTML的模板语法,可以实现声明式将DOM绑定至底层VUE实例的数据.通过模板语法将数据渲染进DOM的系统,结合响应系统,在应用状态改变时,Vue能够计算出重新渲染组件的最小代价并应用 ...

  4. Django笔记&教程 3-2 模板语法介绍

    Django 自学笔记兼学习教程第3章第2节--模板语法介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/templates/# ...

  5. angular2系列教程(二)模板语法

    今天我们要讲的是angualr2的模板语法,官网写的很清楚,但我也用通俗易懂的讲法再罗列一下吧! 例子

  6. python学习笔记--Django入门二 Django 的模板系统

    为了使网站更干净简洁更容易维护,页面的设计和Python的代码必须分离开.我们可以使用Django的 模板系统 (Template System)来实现这种模式. 几个简单的模板标签(tag):   ...

  7. Django入门(二)

    这一节主要介绍django中的model,template模板. model是django自带的orm框架,下面我们来搭建一个博客网站,来看看是如何使用的. 1.新建应用blog python man ...

  8. Angular语法(二)——模板语法

    双花括号{{}} <img src="{{heroImageUrl}}" style="height:30px"> <!-- "Th ...

  9. Django(四)框架之第三篇模板语法

    https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/7725568. ...

随机推荐

  1. HEVC,VP9,x264性能对比

    Dan Grois等人在论文<Performance Comparison of H.265/MPEG-HEVC, VP9, andH.264/MPEG-AVC Encoders>中,比较 ...

  2. 【Unity Shaders】Diffuse Shading——创建一个基本的Surface Shader

    本系列主要参考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同时会加上一点个人理解或拓展. 这里是本书所有的插图.这里是本书所需的代码和资源 ...

  3. 发布一个参考tornado的高性能c++网络库:libtnet

    libtnet是一个用c++编写的高性能网络库,它在设计上面主要参考tornado,为服务端网络编程提供简洁而高效的接口,非常易于使用. Echo Server void onConnEvent(co ...

  4. Python的time(时间戳与时间字符串互相转化)

    strptime("string format")字符串如"20130512000000"格式的 输入处理函数 localtime(float a)时间戳的输入 ...

  5. 《java入门第一季》之面向对象面试题(代码块一网打尽)

    <pre name="code" class="java">/* 代码块:在Java中,使用{}括起来的代码被称为代码块. 根据其位置和声明的不同, ...

  6. SpriteBuilder中本地化的局限性

    最后,App中的(图片)logo仍然保留在英语格式. 未来SpriteBuilder将计划支持本地化资源文件,但是写作该篇的时候估计还没有实现. 你现在必须使用正规的iOS app的国际化技术来支持本 ...

  7. 【61】git项目实战的步骤总结

    1.新建分支的步骤 git pull git checkout -b 分支号(task的后面的代号) 2.提交代码到远程仓库的步骤 git add . git commit -m "分支号+ ...

  8. windows linux—unix 跨平台通信集成控制系统----系统硬件信息获取

    控制集成系统需要了解系统的各项硬件信息,之前我们设计的时候,习惯使用c函数来搞,后来可能发现程序的移植性收到了一些影响,比如unix内核的一些c函数在linux下面是没有的: 比如 苹果达尔文内核的如 ...

  9. android 自定义gallerey并实现预览功能

    自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果.的确HorizontalScrollView可以实现Gal ...

  10. Oracle与Mysql时间格式化

    一,Oracle格式化时间: Oracle 获取当前日期及日期格式 获取系统日期:  SYSDATE()    格式化日期:     TO_CHAR(SYSDATE(),'YY/MM/DD HH24: ...