django入门与学习-django的模板文件-2
来源:互联网 发布:手机设计图纸软件 编辑:程序博客网 时间:2024/05/17 08:08
昨天成功的搭建了django开发环境并进行了测试,然而简单的输出‘Hello World’对程序开发并没有实质性的帮助。今天我们在昨天的基础上来讲一讲django的模板应用,进一步加深对django的学习与理解。
1.创建templates文件夹,使用模板生成xhtml文件。
博主在Ubuntu16.10下使用Bluefish这款编辑器,该软件有强大的模板和联想功能,和windows下的Editplus有的一拼。
在blog/文件夹下创建templates文件夹,注意单词末尾有’s’才能被django识别。
》cd blog
》mkdir templates
之后我们使用bluefish的xhtml1.0模板在templates下生成index1.html,区别index.html。html代码如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>{{title}}</title></head><body><h1>hello {{user}}</h1></body></html>
生成完成之后,我们修改blog/下的views.py让它使用我们刚刚生成的index1.html。
from django.shortcuts import render_to_responsedef index(req): return render_to_response('index1.html',{'title':'my page','user':'Franky'}
这里我们使用字典在django的模板中填充数据,在根目录调用
python3 manage.py runserver
运行后出现如下效果:
2.进阶1-使用对象填充模板
上面的操作弱爆了,传个字符和姓名在网页上并没有用,在这里我们尝试写个简单的对象,使用该对象填充模板。
- 在blog/views.py里创建对象,使用该对象填充字典
from django.shortcuts import render_to_responsedef index(req): user = {'name':'hepeng','gender':'male','age':'23'} return render_to_response('index1.html',{'title':'my page','user':user})
- 在blog/templates/index1.html里设置对应的位置:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>{{title}}</title></head><body><h1>hello {{user.name}}</h1><h1>your sex is {{user.gender}}</h1><h1>your age is {{user.age}}</h1></body></html>
- 运行结果如下图所示:
3.进阶2-使用类生成对象填充字典
- 修改后的blog/views.py代码如下
from django.shortcuts import render_to_responseclass Person(object): def __init__(self,name,age,sex): self.name = name self.age = age self.gender = sexdef index(req): #user = {'name':'hepeng','gender':'male','age':'23'} user = Person('Franky',23,'male') return render_to_response('index1.html',{'title':'my page','user':user})
- 运行结果和上图中的大致相同,只是name一行变成了Franky,此处不在截图。
4.进阶3-传递列表
话不多说,直接放码过来。
- blog/views.py代码如下
from django.shortcuts import render_to_responselang_list = ['python','C++','java','go','c#']def index(req): return render_to_response('index1.html',{'title':'my page','list':lang_list}
- blog/templates/index1.html代码如下
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>{{title}}</title></head><body><li>{{list.0}}</li><li>{{list.1}}</li><li>{{list.2}}</li><li>{{list.3}}</li><li>{{list.4}}</li></body></html>
- 运行效果如下如所示:
5.进阶4.调用传递对象的方法
我们传入一个user对象,调用user对象中的say方法完成输出。参考代码如下:
from django.shortcuts import render_to_responseclass Person(object): def __init__(self,name): self.name = name def say(self): return 'I\'am '+ self.namedef index(req): user = Person('hepeng') return render_to_response('index1.html',{'title':'my page','user':user})
<body><h1>{{user.say}}</h1></body>
程序比较简单,运行结果就不在这里截图了。
1 0
- django入门与学习-django的模板文件-2
- django入门与学习-模板的基本使用-4
- django入门与学习-django的安装与测试-1
- Django的学习笔记(二)(Django模板)
- Django 学习笔记2 模板
- Django学习2-使用模板
- Django入门:模板
- Django入门-4:模板的基本使用
- 实习生的Django[2](模板)
- django 学习 (二) 模板
- Django学习____模板
- django 模板学习
- django学习--templates模板
- django模板导入static文件的方法
- Django 入门学习规划与资料推荐
- Django的学习笔记(一)(Django Web入门)
- django学习2 生成文件
- django学习04---模板的渲染
- PAT 1045.快速排序
- sessionStorage 、localStorage 和 cookie 对比区分
- DP问题 导弹拦截
- VC++ 跳过MFC框架 处理键盘设备消息
- 关于PCB走线
- django入门与学习-django的模板文件-2
- [bzoj3561] DZY Loves Math VI
- 十六、java-GUI之流式布局(FlowLayout)
- 1043. Is It a Binary Search Tree 解析
- poj2135(*最小费用最大流)
- 多线程与互斥锁
- 湘云
- Linux驱动之I2C设备驱动完全解析
- C# 父窗体调用子窗体后关闭自身