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

2023-01-31 03:01:15 django

 

  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. 模板在引用传递的变量对象的时候,存在优先级,首先是字典,然后是对象的属性(即类里的变量),然后是对象的方法即类的函数,最后是列表 

 

相关文章