django-模板语言-传输各种数据类型

复习-django的三种返回方式

HttpResponse
render
redirect

了解这三个功能的导入位置

from django.shortcuts import HttpResponse, render, redirect

模板语言

主要作用在html文件上

  • 模板的占位符号,可以接收后端的数据
  • 循环遍历,可以遍历我们传递过来的列表或字典等
  • 判断语句,可以对数据进行判断,可以有分支

占位符号

前端需要来一个占位符号

格式如下:

{{占位名称}}

例子

<table border="1">
    <tr>
        <td>{{ name }}</td>
        <td>{{ age }}</td>
    </tr>

    <tr>
        <td>1</td>
        <td>2</td>
    </tr>
</table>

后端往前端传递数据

主要通过视图函数处理

def apple(req):
    import random
    name_list = ["张三", "李四", "王五"]
    name = random.choice(name_list)
    return render(req,"apple.html", {"name":name, "age":random.randint(10,20)})

注意

后端传输的数据与前端模板中占位符号的对应关系

在这里插入图片描述
如果模板中有多的占位符

后端如果不传参数,就不显示

强化一下render函数

render(请求对象,模板的相对路径,可选的第三参数为字典)

参数一,请求对象,视图函数的第一个形参,
参数二,模板的相对路径,
参数三,是字典,键会对应上模板中占位符的名字,值会替代这个占位符

关注后端传递给模板的数据类型

传递字符串,整数

传递列表

在这里插入图片描述
后端代码

def apple(req):
    import random
    name_list = ["张三", "李四", "王五"]
    # name = random.choice(name_list)
    return render(req,"apple.html", {"name_list":name_list, "age":random.randint(10,20)})

前端代码
在这里插入图片描述
效果
在这里插入图片描述

传递字典

后端

def apple(req):
    import random
    name_list = ["张三", "李四", "王五"]
    stu_info = {"name":"张三", "age":18}
    # name = random.choice(name_list)
    return render(req,"apple.html", {"stu_info":stu_info})

前端
在这里插入图片描述

传对象

后端:

def apple(req):
    class Cat:
        def __init__(self):
            self.name = "cat"
            self.age = 3
    return render(req,"apple.html", {"mao":Cat()})

显示效果

在这里插入图片描述

在这里插入图片描述

传函数

在这里插入图片描述

循环遍历

模板的格 式

{% for 变量 in 容器 %}
{{ 变量 }}
{% endfor %}

小结模板语言

获取变量
{{ 变量名占位符名 }}

循环遍历
{% for 变量 in 容器 %}
{{ 变量 }}
{% endfor %}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值