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 学习笔记(五)模板标签
Django 学习笔记(四)模板变量的更多相关文章
- Django学习笔记之模板
模板 模板介绍 在之前的章节中,视图函数只是直接返回文本,而在实际生产环境中其实很少这样用,因为实际的页面大多是带有样式的HTML代码,这可以让浏览器渲染出非常漂亮的页面. 目前市面上有非常多的模板系 ...
- Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件
一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建: 这样一个Django项目就创建完成了,上面可以看 ...
- Django 学习笔记(五)模板标签
关于Django模板标签官方网址https://docs.djangoproject.com/en/1.11/ref/templates/builtins/ 1.IF标签 Hello World/vi ...
- Django 学习笔记(三)模板导入
本章内容是将一个html网页放进模板中,并运行服务器将其展现出来. 平台:windows平台下Liunx子系统 目前的目录: hello ├── manage.py ├── hello │ ├── _ ...
- Django学习笔记(9)—— 开发用户注册与登录系统
一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...
- Django学习笔记(4)——Django连接数据库
前言 在MVC或者MTV设计模式中,模型(M)代表对数据库的操作.那么如何操作数据库呢?本小节就认真学习一下.首先复习一下Django的整个实现流程 ,然后再实现一下使用数据库的整个流程,最后学习一下 ...
- Python——Django学习笔记
Django——一个封装好的神奇框架 若本文有任何内容错误,望各位大佬指出批评,并请直接联系作者修改,谢谢!小白学习不易. 一.简要模型 模型类操作数据表: python manage.py shel ...
- Django学习笔记(16)——扩展Django自带User模型,实现用户注册与登录
一,项目题目:扩展Django自带User模型,实现用户注册与登录 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册,登录,用户认证,注销,修改密码等功能. ...
- Django学习笔记(11)——开发图书管理页面
一,项目题目: 开发图书管理页面 该项目主要练习Django对多个数据库进行增删改查的操作. 二,项目需求: 基础需求:75% 1. 列出图书列表.出版社列表.作者列表 2. 点击作者,会列出其出版的 ...
随机推荐
- 51nod_1119:机器人走方格 V2
题目链接: https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1119 转化成杨辉三角就好辣@_@ #include< ...
- Java多线程缓存器简单实现
package com.charles.utils; import java.util.HashMap; import java.util.Map; import java.util.concurre ...
- CONSOLE_SCREEN_BUFFER_INFO 结构体
CONSOLE_SCREEN_BUFFER_INFO结构体 来源:https://msdn.microsoft.com/en-us/library/ms682093(v=vs.85).aspx 作用 ...
- HTML随笔1
1.编号列表: <ol type="A" start="1"> //type中有"A","1",&qu ...
- echarts 支持svg格式
今天研究了下echarts的svg格式.发现用ai生成svg格式的图片,echarts上面显示不了. 经过了多次的百度和谷歌终于找到了用Method Draw画出来的svg格式,echarts就能加载 ...
- jQuery基础知识总结二
* DOM操作 *1 基本操作 * html() - 等价于innerHTML属性 * text() - 等价于textContent属性 * val() - 等价于value属性 * attr() ...
- java变量、二进制、数据类型、原码、补码、反码
1. 变量 1. 他 她 我 你 某人 佚名 旺财 X-man x = 1 您好! 它 (变量就是自然语言中的代词) 2. int age = 15;// 00000000 0000 ...
- pip&easy_install使用
pip install ... easy_install ... ******************************************************************* ...
- 疯狂的采药 洛谷p1616
题目背景 此题为NOIP2005普及组第三题的疯狂版. 题目描述 LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他 ...
- NOIP2000提高组 单词接龙
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的"龙"(每个单词都最多在"龙" ...