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 模板变量的更多相关文章

  1. Django学习之模板标签和变量

    safe过滤器和{% autoescape %}标签 首先看这样一个例子: views.py中: c = '<h3>更上一层楼</h3>' render(request,'te ...

  2. django学习--2 模板

    Django 模板 在上一章节中我们使用 django.http.HttpResponse() 来输出 "Hello World!".该方式将数据与视图混合在一起,不符合 Djan ...

  3. Django学习day6——模板

    在day4中,你可能已经注意到我们在例子视图中返回文本的方式有点特别. 也就是说,HTML被直接硬编码在 Python 代码之中. html = "<html><body& ...

  4. django学习-6.模板templates

    1.前言 首先,我们要知道html是一门静态语言,里面没法传一些动态参数,也就是一个写死的html页面. 那么,如果我们想实现在一个html页面里传入不同的参数对应的参数值,这就可以用django框架 ...

  5. 《TP5.0学习笔记---模板变量输出、替换和赋值篇》

    原文地址:http://blog.csdn.net/self_realian/article/details/75214922 模板变量输出.替换和赋值 我们看一下文件编译的结果,我们知道我们现在写的 ...

  6. django学习笔记-模板层

    模板层 将Python嵌入到HTML中. 模板简介 将HTML硬解码到视图并不是那么完美原因如下: 对页面设计时也需要对python代码进行相应的修改,模板可以不就行python代码修改的情况下变更设 ...

  7. Django学习之模板

    一.常用语法 1.变量 2.Filters 3.自定义filter 4.Tags 5.csrf_token 6.注释 7.注意事项 二.母板 2.继承母板 3.块(block) 4.组件 5.静态文件 ...

  8. Django 学习 之 模板(html)与配置静态文件

     一.模板(html) 1.模板语法之变量:语法为 {{ }} 在 Django 模板中遍历复杂数据结构的关键是句点字符, 语法:{{ var_name }} var_name 是一个变量名称,需要和 ...

  9. Django学习之模板层

    三板斧 render,HttpResponse,redirectrender返回一个HTML页面,并且还能够给该页面传数据render内部原理: from django.template import ...

随机推荐

  1. [转]省市二级联动(纯js实现)

    转至:http://www.jb51.net/article/41556.htm 实现原理: set_city("省名称",市select对象); 判断市select对象是否为空, ...

  2. Windows 下如何设置 只允许固定IP远程访问

    通过设置IP安全策略限制固定IP访问 说明: (1)以XP环境为例,步骤:先禁止所有IP,再允许固定IP访问. (2)配置过程中很多步骤图是重复的,一些没价值的图就省略了: (3)光看的话可能中间重复 ...

  3. 让人眼花缭乱的 RSS 版本0.90、0.91、0.92、0.93、0.94、1.0 和 2.0

    1.0的规范 http://web.resource.org/rss/1.0/spec 2.0的规范 http://cyber.law.harvard.edu/rss/rss.html 一个介绍什么是 ...

  4. js中substr与substring的差别

    Js的substring和C#的Substring的作用都是从一个字符串中截取出一个子字符串,但它们的用法却有非常大的不同,下边我们来比較看看:  Js的substring  语法:  程序代码  S ...

  5. Particle designer 粒子工具中属性对应功能的简单介绍

    粒子配置 Max Particles 粒子的数量  一般而言,我们的目标是用最少的粒子创造出所需的效果.单个粒子的大小对游戏运行效率也有很大的影响——单个粒子越小,性能越高. Lifespan 生命周 ...

  6. 嵌入式 Linux 应用:概述

    转载:http://www.ibm.com/developerworks/cn/linux/embed/embl/overview/index.html   从腕表到基于群集的超级计算机 在对嵌入式 ...

  7. Linux shell 脚本攻略之统计文件的行数、单词数和字符数

    摘自:<Linux shell 脚本攻略>

  8. C# WinForm 中ComboBox数据绑定的问题 (转)

    来自:http://blog.sina.com.cn/s/blog_5fb9e26301013wga.html C# WinForm 中ComboBox数据绑定的问题 怎样让WinForm中的Comb ...

  9. 关于JAVA那点事---i++和++i

    对i++和++i 一直有点晕,今天专门抽空来研究相关的知识. 先从简单的说起. 有如下程序: int i=0; i=i++; system.out.print(i); 一眼望去这个结果显而易见是1,但 ...

  10. python(5)–sys模块

    sys.argv 命令行参数list, 第一个元素是程序本身路径 sys.exit(n) 退出程序,退出时输入信息n sys.version 获取python解释程序的版本信息 sys.maxint ...