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. UVaLive 7371 Triangle (水题,判矩形)

    题意:给定两个三角形,问你能不能拼成矩形. 析:很明显,要想是矩形,必须是四个角是直角,那么三角形必须是直角三角形,然后就是只能斜边相对,然后呢?就没了. 代码如下: #pragma comment( ...

  2. ecshop以幻灯版调用首页主广告显示

    默认的是index_ad.lbi模板有一个$flash变量了,但在搜索搜索没发现 <!--{foreach from=$flash name=no item=flash}--> <l ...

  3. INV(库存管理)

    物料 PROCEDURE update_item(p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false, x_return_status OUT NO ...

  4. 安卓任意两个或多个Fragment之间的交互与刷新界面

    平时项目中遇到一个问题:在子fragment中刷新父fragment的界面,通俗的说也就是在任何一个fragment中来刷新另一个fragment.大家都知道activity和fragment之间的交 ...

  5. BaiduMap开发,获取公交站点信息。

    可能有些人会出现无法导入overlayutil的错误,这是因为BaiduMap里面的包把这部分删除掉了,并且官方没有给出说明,这个地方以前也是让我折腾了很久. 不知道现在有没有说明这个问题,如果需要这 ...

  6. PostgreSQL建表动作分析

    首先,建立表: pgsql=# create table tab10(id integer); CREATE TABLE pgsql::regclass; regclass ---------- ta ...

  7. 关于ant的使用和入门知识

    入门技术 在学习struts+spring+hibernate,尤其是Appfuse的过程中大量涉及到ant的使用,因此我觉得有必要对ant做个比较深入的学习,以下是在学习过程中搜集的材料.比较详细, ...

  8. C++ struct与class

    1.相对于C中struct,C++做了很大的扩充.基本上和class 差不多.只有一些细节上的差别. 2.对于成员的默认访问权限,class是private,struct是public.需要注意的是, ...

  9. Codeforces Round #192 (Div. 1) A. Purification 贪心

    A. Purification Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/329/probl ...

  10. iOS开发——新特性篇&swift新特性(__nullable和__nonnull)

    swift新特性(__nullable和__nonnull) 最近在看老师写代码的时候经常遇到两个陌生的关键字,但是当我在我的电脑上敲得时候就是敲不出,后来才知道这是为了swift与OC混编的时候产生 ...