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. Codeforces Round #257 (Div. 2) B. Jzzhu and Sequences (矩阵快速幂)

    题目链接:http://codeforces.com/problemset/problem/450/B 题意很好懂,矩阵快速幂模版题. /* | 1, -1 | | fn | | 1, 0 | | f ...

  2. 强连通分量(tarjan求强连通分量)

    双DFS方法就是正dfs扫一遍,然后将边反向dfs扫一遍.<挑战程序设计>上有说明. 双dfs代码: #include <iostream> #include <cstd ...

  3. ACE的包装器

    ACE大量运用包装器模式,以期改变面向过程的系统API可视性以及错误处理较难的情况 包装器在若干场合能极大简化代码量,甚至是编码过程 比如ACE_Thread_Mutex 对象创建会自动初始化,很开心 ...

  4. struts2的action的知识点和利用action向页面注入值的操作

    1.      Action的顺序,会先搜索指定名字下的包的action,如果找不到会去搜索默认路径下的包下的action. 2.      如果没有给action设置值,那么action会有一些默认 ...

  5. java连接数据库的解决方法大全(mysql)

    解决方法一:(最重要的一种方法) 你看下my.ini,有无  [mysql] default-character-set=utf8 [client]  default-character-set=ut ...

  6. Codeforces Gym 100342E Problem E. Minima 暴力

    Problem E. MinimaTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100342/attac ...

  7. 不用submit 同样实现button 点击enter键进行提交

    $(function(){ document.onkeydown = function (e) { var theEvent = window.event || e; var code = theEv ...

  8. 【原创】测试不同浏览器播放canvas动画的平滑程度

    Canvas无疑是HTML5开放式网络平台最激动人心的技术之一.目前,除了IE8以外,各类浏览器的新版本都支持HTML5 Canvas. 程序员需要通过Javascript调用Canvas API.基 ...

  9. 保存form配置信息INI

    (* 功能:IniFormState1 保存和读取 窗体的大小2 保存和读取 窗体在屏幕上的位置//让程序第1次出现在屏幕的中心点获取屏幕的中心点POSITION:poScreenCenter //不 ...

  10. 【项目实例】android开发游戏音效代码实例

    //音效的音量 int streamVolume; //定义SoundPool 对象 private SoundPool soundPool; //定义HASH表 private HashMap< ...