Django入门二之模板语法
一. 模板变量
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入门二之模板语法的更多相关文章
- Django(二) 模板:基本使用、模板语法、模板继承
一.模板的使用实战 接:https://blog.csdn.net/u010132177/article/details/103788677 参考:https://docs.djangoproject ...
- Django实战(二)之模板语言
该实战教程基于菜鸟教程,菜鸟教程可参考:http://www.runoob.com/django/django-template.html 模板语法,每个框架都有其支持的模板语法,Django的模板语 ...
- vue入门:(模板语法与指令)
vuejs使用及HTML的模板语法,可以实现声明式将DOM绑定至底层VUE实例的数据.通过模板语法将数据渲染进DOM的系统,结合响应系统,在应用状态改变时,Vue能够计算出重新渲染组件的最小代价并应用 ...
- Django笔记&教程 3-2 模板语法介绍
Django 自学笔记兼学习教程第3章第2节--模板语法介绍 点击查看教程总目录 参考:https://docs.djangoproject.com/en/2.2/topics/templates/# ...
- angular2系列教程(二)模板语法
今天我们要讲的是angualr2的模板语法,官网写的很清楚,但我也用通俗易懂的讲法再罗列一下吧! 例子
- python学习笔记--Django入门二 Django 的模板系统
为了使网站更干净简洁更容易维护,页面的设计和Python的代码必须分离开.我们可以使用Django的 模板系统 (Template System)来实现这种模式. 几个简单的模板标签(tag): ...
- Django入门(二)
这一节主要介绍django中的model,template模板. model是django自带的orm框架,下面我们来搭建一个博客网站,来看看是如何使用的. 1.新建应用blog python man ...
- Angular语法(二)——模板语法
双花括号{{}} <img src="{{heroImageUrl}}" style="height:30px"> <!-- "Th ...
- Django(四)框架之第三篇模板语法
https://www.cnblogs.com/yuanchenqi/articles/6083427.htm https://www.cnblogs.com/haiyan123/p/7725568. ...
随机推荐
- (六十二)纯代码搭建UI
在Xcode6中,去掉了Empty Application的选项,因此可以通过先创建SingleView,再删除storyboard,并且把工程设置中的main Interface清空. 通过AppD ...
- UGUI实现NGUI的UIEventListener功能
在unity中处理UI事件时,习惯了使用NGUI的UIEventListener,虽然UGUI也有AddListener,但是一个组件只能对应一个函数,不能在一个函数中同时处理多个事件,显得有些麻烦 ...
- REST(Representational State Transfer表述性状态转移)
参考内容:http://www.csdn.net/article/2013-06-13/2815744-RESTful-API 定义了一组体系架构原则,您可以根据这些原则设计以系统资源为中心的 Web ...
- Xcode模拟器中无法播放音频文件的原因分析
在本猫的Mac Mini上开发iOS app,发现当执行到播放音频的代码时,发生错误,log如下: 2015-10-05 07:22:17.122 LearnSpriteBuilder[10321:5 ...
- Linux下进程通信之管道
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把 ...
- android 之ViewStub
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局.那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在 ...
- 如何修改SpriteBuilder中的按钮禁用启用状态
按钮的禁用状态和按钮的User Interaction Enabled属性并不相符. 后者设定的是按钮是否参与用户交互. 你不能直接在SpriteBuilder中编译按钮的禁用启用属性.除非你想给按钮 ...
- C++容器学习,与结构体排序和set来一场邂逅
最近学习C++容器,积累一下.下面介绍set和multiset,并使用sort对结构体进行排序.C++之路漫漫其修远兮! 一.对结构体进行排序 // sort_struct.cpp : 定义控制台应用 ...
- android 防止反编译的若干方法
第一种方式:混淆策略 混淆策略是每个应用必须增加的一种防护策略,同时他不仅是为了防护,也是为了减小应用安装包的大小,所以他是每个应用发版之前必须要添加的一项功能,现在混淆策略一般有两种: 对代码的混淆 ...
- PS 滤镜——平面坐标变换到极坐标
%%% orthogonal coordinate to polar coordinate %%% 平面坐标转极坐标 clc; clear all; close all; addpath('E:\Ph ...