django-3 把数据动态的传到模板中

发布时间:2019-09-02 07:39:57编辑:auto阅读(1971)

     

    1. django-3 把数据动态的传到模板中去  
    2. 1. 引入模板变量的概念  
    3.    模板变量是由两个大括号组成  例如`var`   变量是以字典的方式传递  
    4. 2.在views.py里添加  
    5. from   django.shortcuts import render_to_response  
    6. def   index(req):  
    7.         return   render_to_response('index.html',{'var1':'test1','var2':'test2'})  
    8.  
    9. 稍微复杂点的  
    10. def   index(req):   变量是字典  
    11.         test1={'name':'tom','age':'23','sex':'male'}  
    12.         return   render_to_response('index.html',{'var1':'test1','var2':'test2'})  
    13.  
    14. 在模板里显示的时候可以直接调用字典变量的value值  例如`var1`.`name`  
    15. 3  在模板中去传递对象,写法如下  
    16. from   django.shortcuts import render_to_response  
    17. class Person(object):  
    18.         def __init__(self,name,age,sex):  
    19.                 self.name=name  
    20.                 self.age=age  
    21.                 self.sex=sex  
    22.     def say(self):  
    23.                 return I'm +self.name  
    24. def   index(req):  
    25.         test1=Person('tome,'22','male')  
    26.     book_list=['python','java','php']  
    27.         return   render_to_response('index.html',{'var1':'test1','var2':'test2','book_list':book_list})  
    28.  
    29.  
    30. 由此可见,模板可以接受普通变量,接受字典,还可以接受类的对象,甚至列表  在模板里调用列表的值,  
    31. 4.调用类的方法就是类的函数  
    32. 在模板里这样写:  
    33. `test1`.`say`      test1是步骤3里的变量,say是类的方法  
    34. 注意:在调用对象的方法的时候,没有参数,一定要有返回值  
    35. 模板在引用传递的变量对象的时候,存在优先级,首先是字典,然后是对象的属性(即类里的变量),然后是对象的方法即类的函数,最后是列表 

     

关键字