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. 点击作者,会列出其出版的 ...
随机推荐
- Ionic如何实现单选二级菜单切换
Ionic如何实现单选二级菜单切换 最近有个需求,需要做一个用户视图,数据全都从PC端系统实时取,由于这个功能在电脑浏览器展示还可以,即使菜单全部展开,只要美工稍加调整下位置也是放得下的,但是同样的功 ...
- python cookbook第三版学习笔记十二:类和对象(三)创建新的类或实例属性
先介绍几个类中的应用__getattr__,__setattr__,__get__,__set__,__getattribute__,. __getattr__:当在类中找不到attribute的时候 ...
- 【Java IO流】RandomAccessFile类的使用
RandomAccessFile类的使用 RandomAccessFile类是java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. RandomAc ...
- 移动端JS事件、移动端框架
一.移动端的操作方式和PC端是不同的,移动端主要是用手指操作,所以有特殊的touch事件,touch事件包括如下几个事件: 1.手指放到屏幕上时触发 touchstart 2.手指放在屏幕上滑动式 ...
- easyUI日期框返回到月份,选择日期也只到月份
easyUI日期框返回到月份,选择日期也只到月份,不是原创,引用了园友的一篇文章,自己写下来,以便不时之需,谢谢. 1 $(function () { $('#date').datebox({ onS ...
- eclipse连接hadoop问题
1,首先可以测试:hafs dfsadmin -safemode leave2,如果出现下面的问题Error:Permission denied: user= ,access=READ_EXECUTE ...
- (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库
场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL ...
- 【samba】samba 用户权限配置(转)
首先要保证你的samba安装并配置好,关于安装和配置samba请参考此文章 http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.a ...
- Spring阅读方法
转自:http://www.cnblogs.com/xing901022/p/4178963.html 最近没什么实质性的工作,正好有点时间,就想学学别人的代码.也看过一点源码,算是有了点阅读的经验, ...
- AC自动机总结及板子(不带指针)
蒟蒻最近想学个AC自动机简直被网上的板子搞疯了,随便点开一个都是带指针的,然而平时用到指针的时候并不多,看到这些代码也完全是看不懂的状态.只好在大概理解后自己脑补(yy)了一下AC自动机的代码,居然还 ...