码迷,mamicode.com
首页 > 其他好文 > 详细

django 学习-3 模板变量

时间:2016-01-13 15:53:10      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:

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 模板变量

标签:

原文地址:http://www.cnblogs.com/Icanflyssj/p/5125859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!