django 视图层向模板层传参

视图函数中必须将变量封装到字典中才允许传递到模板上
views层

def test(request):
	dic = {}
	#1&2. 演示在模板中显示变量的值和使用索引
	dic['lst'] = ['小红','小明','小兰']
	
	#3. 模板层想要'username'的值
	dic['dict'] = {'username':'yutaixin'}

	#4. 向模板层传对象,演示在模板中使用 {{ 对象.方法 }}
	dic['class_obj'] = Dog()

	#5. 向模板中传递函数
	dic['say_hi'] = say_hi
	
	return render(request,'test.html',dic)

#用于演示向模板层传:对象.方法
class Dog:
	def say(self):
		return 'hahaha'

#用于演示向模板中传函数
def say_hi():
	return 'say hi'		

模板层

<body>

<!-- 1. 显示变量:{{ 变量名 }} -->
<h3>lst是 {{ lst }}</h3>	 	
<!-- 显示为:lst是 ['小红','小明','小兰'] -->

<!-- 2.  通过index取列表等数据类型里面的元素:{{ 变量名.index }}-->
<h3>lst第一个元素是 {{ lst.0 }}	
<!-- 显示为:lst第一个元素是 小红 -->

<!-- 3. 通过.大法取出字典username的值 -->
<h3>dict中username的值是 {{ dict.username }}</h3>
<!-- 显示结果为:dict中username的值是 yutaixin -->

<!-- 4. 模板中使用views中传来的对象的方法:{{ 对象.方法 }} -->
<h3>class obj 调用say方法是 {{ class_obj.say }}</h3>
<!-- 显示结果为:class obj 调用say方法是 hahaha -->

<!-- 5 . 模板中使用传进来的函数:{{ 函数名 }} -->
<h3>say hi 直接调用 结果是 {{ say_hi }}</h3>
<!-- 显示结果为:say hi 直接调用结果是 say hi -->

</body>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值