Django-7-模板语言(Template变量)

前言

html是一个静态页面,但是我们不可能把页面上所有的内容都写死,有些是需要动态传参的,根据传参内容作相应的显示,django模板可以实现。

模板语言

组成:HTML+逻辑控制代码

模板是html页面,可以根据视图中传递的数据填充值

在模板中访问对象成员时,都以属性的方式访问,即方法也不能加括号

在模板中访问视图传递的数据格式有:

{{输出值、变量、对象.属性、对象.方法 }}

{ %执行代码段% }

django_study.app01.views.py:新建一个template_study视图函数

class Person():
    def __init__(self,name):
        self.name = name

    def play(self):
        return "playing"

def template_study(request):
    name = "karry"
    p = Person("suner")
    num_list = [10, 20, 30, 40]
    user_dict = {"name":"wang", "age":19}
    # locals()不需要引用上下文即键值对,一个locals()可以将所有内容返回至前端
    return render(request, "template_study.html", locals())  

django_study.django_study.urls:绑定url与视图函数

url(r'^template_study/$',template_study),

在django_study.templates目录下新建template_study.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>变量查询</title>
</head>
<body>
    <p>定义的name值为:{{ name }}</p>
    <!--列表取值,列表名.索引-->
    <p>取出列表第一个值:{{ num_list.0 }}</p>
    <!--字典取值,字典名.键名-->
    <p>取出字典中的年龄:{{ user_dict.age }}</p>
    <!--通过属性可以调用-->
    <p>调用类属性name:{{ p.name }}</p>
    <!--通过方法可以调用,方法默认当属性一样用,没有括号-->
    <p>调用类方法play:{{ p.play }}</p>
</body>
</html>

启动状态访问:127.0.0.1:8000/template_study

猜你喜欢

转载自blog.csdn.net/qq_39620483/article/details/89144216