django 学习-3 模板变量
1、vim learn/home.html
<!DOCTYPE html>
<html>
<head>
        <title>{{title}}</title>
</head>
<body>
<hl>hello {{user}}</hl>
</body>
</html>
花括号里加入的就是模板变量
2、vim /learn/views.py
def  home(request):
        return render(request,'home.html',{'title':'my page','user':'ssj'})
同样的改动的也只是花括号里面的东西,就像一个key 对应一个value
3、还可以这样写
<!DOCTYPE html>
<html>
<head>
        <title>{{title}}</title>
</head>
<body>
<hl>name {{user.name}}</hl>
<li>age : {{user.age}}</li>
<li>sex  :{{user.sex}}</li>
<li>  :{{book_list.0}}</li>
<li>  :{{book_list.1}}</li>
<li>  :{{book_list.2}}</li>
<li>  :{{book_list.3}}</li>
</body>
</html>
4、 也可以写一个函数然后从中调用
class Person(object):
        def __init__(self,name,age,sex):
                self.name = name
                self.age = age
                self.sex = sex
def  home(request):
       user = {'name':'ssj','age':'22','sex':'man'}    传递一个字典
        user = Person('sdj','25','boy')         传递一个对象
        book_list = ['python','java','php','web']    传递一个列表
        return render(request,'home.html',{'title':'my page','user':user,'book_list':book_list})
可见视图向模板传递的方法很多,普通变量、字典、对象、列表,可以使用对象的属性也可以使用对象的方法。
而且注意在调用对象方法时有个特点是:没有参数,但要有一个确定的返回值。
这个还存在一个优先关系:
如果直接给了一个量话就使用基本变量;
但如果存在引用的话:首先是字典、其次是对象的属性、再就是对象的方法、列表排最后
多种方法可以使用,功能很强大也很灵活
django 学习-3 模板变量的更多相关文章
- Django学习之模板标签和变量
		safe过滤器和{% autoescape %}标签 首先看这样一个例子: views.py中: c = '<h3>更上一层楼</h3>' render(request,'te ... 
- django学习--2 模板
		Django 模板 在上一章节中我们使用 django.http.HttpResponse() 来输出 "Hello World!".该方式将数据与视图混合在一起,不符合 Djan ... 
- Django学习day6——模板
		在day4中,你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python 代码之中. html = "<html><body& ... 
- django学习-6.模板templates
		1.前言 首先,我们要知道html是一门静态语言,里面没法传一些动态参数,也就是一个写死的html页面. 那么,如果我们想实现在一个html页面里传入不同的参数对应的参数值,这就可以用django框架 ... 
- 《TP5.0学习笔记---模板变量输出、替换和赋值篇》
		原文地址:http://blog.csdn.net/self_realian/article/details/75214922 模板变量输出.替换和赋值 我们看一下文件编译的结果,我们知道我们现在写的 ... 
- django学习笔记-模板层
		模板层 将Python嵌入到HTML中. 模板简介 将HTML硬解码到视图并不是那么完美原因如下: 对页面设计时也需要对python代码进行相应的修改,模板可以不就行python代码修改的情况下变更设 ... 
- Django学习之模板
		一.常用语法 1.变量 2.Filters 3.自定义filter 4.Tags 5.csrf_token 6.注释 7.注意事项 二.母板 2.继承母板 3.块(block) 4.组件 5.静态文件 ... 
- Django 学习 之 模板(html)与配置静态文件
		一.模板(html) 1.模板语法之变量:语法为 {{ }} 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法:{{ var_name }} var_name 是一个变量名称,需要和 ... 
- Django学习之模板层
		三板斧 render,HttpResponse,redirectrender返回一个HTML页面,并且还能够给该页面传数据render内部原理: from django.template import ... 
随机推荐
- Dynamically loading an external JavaScript or CSS file
			原文: Dynamically loading an external JavaScript or CSS file 通过javascript动态加载css文件和javascript文件,主要是通 ... 
- Hibernate HQL和原生SQL查询的一点区别
			1.createSQLQuery 1.1默认查询的结果为BigDecimal 1.2通过addScalar("CGD_ID", StandardBasicTypes.LONG)可以 ... 
- Unity3D音乐音效学习笔记
			对于Unity3D的音乐音效这块一直没有好好的看过,现在准备好好的研究一下,并作为一个笔记记录下. 支持格式 在游戏中,一般存在两种音乐,一种是时间较长的背景音乐,一种是时间较短的音效(比如按钮点击, ... 
- [置顶] a+=1/a=+1/a-=1区别-c语言
			1.解释 a+=1/a=+1/a-=1 含义 a+=1 实质等于 a += 1,也就是等于 a = a + 1: a=+1 实质等于 a = +1:[因为运算符中没有=+,很多人误以为是 a =+ 1 ... 
- Intel大坑之中的一个:丢失的SSE2 128bit/64bit 位移指令,马航MH370??
			缘由 近期在写一些字符串函数的优化,兴趣使然.但是写的过程中,想要实现 SSE2 128 bit / 64 bit 的按 bit 逻辑位移.遇到了一个大坑,且听我娓娓道来. 我并不想用什么马航370来 ... 
- delphi 获取驱动盘的卷标 号
			{获取C盘的卷标 格式化硬盘卷标改变} //GetHardDiskSerial('c:\') function GetHardDiskSerial(Drive: string): string; va ... 
- DB9 公头母头引脚定义及连接
			1.实物及引脚简单介绍 在做开发的时候常常会用到串行接口,一般9针的串行接口居多.例如以下图所看到的: 公头母头用于连接线的採用上图封装.但用于开发板的时候採用90度弯角插针的封装.例如以下图: 各引 ... 
- 关于在android手机中腾讯、阿里产品不自定义虚拟键盘的想法
			1,自定义虚拟键盘,影响用户体验.你每个用户的喜好不一样,都有自己心仪的一款输入法.腾讯或是阿里设计出来的输入法很难满足上亿用户的喜好,到时候又是一场口水战,再说了就是专业的输入法肯定要比应用里嵌套的 ... 
- mysql的两阶段提交协议
			http://www.cnblogs.com/hustcat/p/3577584.html 前两天和百度的一个同学聊MySQL两阶段提交,当时自信满满的说了一堆,后来发现还是有些问题的理解还是比较 ... 
- Python学习 之 switch语句
			1.python并没有提供switch语句,python可以通过字典实现switch语句的功能,实现方法分为两步 —首先,定义一个字典 —其次,调用字典的get()获取相应的表达式 通过字典调用函数 ... 
