天使爱美丽

“TA还未设置签名”

笔记

Django 学习之模板变量

已有 24 次阅读2017-08-12 14:28 |系统分类:HTML/CSS |


本文和大家分享的主要是django中模板变量相关内容,一起来看看吧,希望对大家学习django有所帮助。


1.传入普通变量


在hello/Hello World/temlplates/index.html中,修改html文件


<!DOCTYPE html>

<html>

<head>

    <title>{{title}}</title>

    <meta charset="utf-8">

</head>

<body>

   <h1> Hello {{name}}</h1>

</body>

</html>

接着在hello/Hello World/views.py文件中,修改views.py


from django.shortcuts import render


def index(request):

    return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})

然后启动服务器,访问浏览器,得到结果:


标题是 Welcome,正文是Hello KeinLee


2.传入字典变量


修改html文件


<!DOCTYPE html>

<html>

<head>

    <title>{{title}}</title>

    <meta charset="utf-8">

</head>

<body>

    <h2> Hello {{person.name}} </h2>

    <h2> age {{person.age}} </h2>

    <h2> sex {{person.sex}} </h2>

</body>

</html>

修改views.py文件


from django.shortcuts import render


def index(request):

    #传入普通变量

    #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})


    #传入字典变量

    person = {'name':'Lee','age':20,'sex':'male'}

    return render(request,'index.html',{'title':'Welcome','person':person})

然后刷新页面,得到结果:


标题是 Welcome,


正文是


Hello Lee


age 20


sex male


3.传入列表变量


修改html文件


<!DOCTYPE html>

<html>

<head>

    <title>{{title}}</title>

    <meta charset="utf-8">

</head>

<body>

    <h2>字典变量:</h2>

    <ul>

        <li> Hello {{person.name}} </li>

        <li> age {{person.age}} </li>

        <li> sex {{person.sex}} </li>

    </ul>

    <h2>列表变量:</h2>

    <ul>

        <li> {{book.0}} </li>

        <li> {{book.1}} </li>

        <li> {{book.2}} </li>

    </ul>

</body>

</html>


修改views.py文件


from django.shortcuts import render


def index(request):

    #传入普通变量

    #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})


    #传入字典变量

    person = {'name':'Lee','age':20,'sex':'male'}

book_list = ['python','java','c']

return render(request,'index.html',{'title':'Welcome','person':person,'book':book_list})

然后刷新页面,得到结果:


标题是 Welcome,


正文是


字典变量:


Hello Lee

age 20

sex male


列表变量:


python

Java


4.传入对象变量


修改html


<!DOCTYPE html>

<html>

<head>

    <title>{{title}}</title>

    <meta charset="utf-8">

</head>

<body>

    <h2>字典变量:</h2>

    <ul>

        <li> Hello {{person.name}} </li>

        <li> age {{person.age}} </li>

        <li> sex {{person.sex}} </li>

    </ul>

    <h2>列表变量:</h2>

    <ul>

        <li> {{book.0}} </li>

        <li> {{book.1}} </li>

        <li> {{book.2}} </li>

    </ul>

    <h2>对象变量:</h2>

    {{person.name}} say : {{person.say}}

</body>

</html>

修改views.py


from django.shortcuts import render


class Person(object):

    def __init__(self,name,age,sex):

        self.name=name

        self.age=age

        self.sex=sex


    def say(self):

        return "I'm %s." %self.name

        

def index(request):

    #传入普通变量

    #return render(request,'index.html',{'title':'Welcome','name':'KeinLee'})


    #传入字典变量

    #person = {'name':'Lee','age':20,'sex':'male'}

    #传入列表变量

    book_list =['python','java','c']

    #传入对象变量

    person=Person('Lucky',18,'female')

    return render(request,'index.html',{'title':'Welcome','person':person,'book':book_list})

刷新页面,得出结果:


字典变量:


Hello Lucky

age 18

sex female


列表变量:


python

java


对象变量:


Lucky say : I'm Lucky.


综上所述,模板变量可以传递普通变量、字典、列表和对象属性和方法


优先级:普通变量>字典>对象属性>对象方法>列表



来源:博客园


标签: 举报

收藏 0人收藏
给个赞0人点赞
评论
0 /300