Django学习第二课,研究基础模板以及返回设定

  • A+
所属分类:Alex笔记

上一课简单输进行的简单的内容返回使用HttpResponse

 
 

在真实的环境种我们使用丰富的html来进行,Django使用模板的形式来加载HTML

 
 

在应用APP下创建一个模板目录默认取名为templates,,然后创建模板文件,

092317 1054 Django1 - Django学习第二课,研究基础模板以及返回设定

 
 

模板内容为如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Django Template</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<meta name="keywords" content="Django Template" />

<meta name="description" content="Django Template" />

</head>

<body>

<center>Django Template Learning.</center>

</body>

</html>

 
 

 
 

使用加载模板进行测试,修改views文件

092317 1054 Django2 - Django学习第二课,研究基础模板以及返回设定

loader 加载模板

t.render() 把模板内容重组输出

 
 

访问查看效果

092317 1054 Django3 - Django学习第二课,研究基础模板以及返回设定

 
 

 
 

这样就可以显示丰富的HTML页面了,但是页面内容肯定是变化了,我们不能去修改模板来实现吧,这里就要用到模板变量了

模板修改如下,把需要变化的内容添加变量

092317 1054 Django4 - Django学习第二课,研究基础模板以及返回设定

 
 

调用时我们在去传递填充变量,把模板中的变量已字典形式重组进模板

092317 1054 Django5 - Django学习第二课,研究基础模板以及返回设定

 
 

我们看到前台页面已显示成我们的想要的内容了

092317 1054 Django6 - Django学习第二课,研究基础模板以及返回设定

 
 

我么也可以使用另外一种方式来写render_to_response ,效果也是一样的,代码精简了一点

# -*- coding: utf-8 -*-

 
 

from django.http import HttpResponse

from django.template import loader

from django.shortcuts import render_to_response

 
 

def index(req):

#t=loader.get_template('myapp.tmp')

c={'title':'My APP Home','text':'this is my app home page'}

return HttpResponse(render_to_response('myapp.tmp',c))

 
 

 
 

 
 

 

 
 

 
 

 
 

头像

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: