zoukankan      html  css  js  c++  java
  • Django 学习笔记(四)模板变量

    关于Django模板变量官方网址:https://docs.djangoproject.com/en/1.11/ref/templates/builtins/

    1.传入普通变量

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

    <!DOCTYPE html>
    <html lang="zh-cn">
    <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 lang="zh-cn">
    <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 lang="zh-cn">
    <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
    • c

    4.传入对象变量

    修改html

    <!DOCTYPE html>
    <html lang="zh-cn">
    <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
    • c

    对象变量:

    Lucky say : I'm Lucky.

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

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

    系列上一章:Django 学习笔记(三)模板导入

    系列下一章:Django 学习笔记(五)模板标签

  • 相关阅读:
    循环取出正则匹配的内容(遍历).
    遍历datatable的方法
    asp.net获取URL和IP地址
    匹配多个字符串方法
    世界杯决赛不好看,有点像假球,被裁判黑了?
    2010南非世界杯冠军预测:荷兰夺冠!
    查了几家人民广场附近的川菜和湘菜馆
    白平衡(转载自wikipedia)
    梦想与感动
    港澳旅游相关备忘
  • 原文地址:https://www.cnblogs.com/keinlee/p/7309669.html
Copyright © 2011-2022 走看看