您的位置:首页 > 编程语言 > Go语言

Django开发(四)——Django的模板

2015-07-01 18:28 519 查看
在上一节中,我们在view.py文件中,编写返回的视图页面,这使逻辑代码和html代码耦合在一起,不利于项目的分工开发和后续的修改,并且,在view中也是很难对页面的形式进行控制的。

好在Django为我们提供了模板系统,也就是template,MTV中的T。Template可以将python代码嵌入在html代码中,并可以由view中的方法,想template中传递对象,最后,view中渲染该模板的方法,会将其返回给用户。

需要注意的是,我们需要在settings.py文件中,对模板文件的存放路径做一些设置,我是将template文件夹放在项目根目录下的

BASE_DIR = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = (
os.path.join(BASE_DIR, 'template/'),
)


下面给出一个view中方法渲染并返回template例子

def getPassageList(request,type_id):
type = get_object_or_404(PassageClass, pk=type_id)
passagelist=type.passage_set.all();
return render(request, 'blog/passagelist.html', {'type': type,'passagelist':passagelist})


template文件

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>{{type.classname}}——漂泊的胡萝卜</title>
</head>
<body>
<h1>漂泊的胡萝卜</h1>
{% for passage in passagelist %}
<li><a href="/passage/{{ type.id }}/{{passage.id}}">{{ passage.title }}</a></li>
{% endfor %}
</body>
</html>


在此,view中的方法将一个包含若干个passage的list对象传给模板文件,模板文件中将list中的信息结合事先写好的html结合,得到最终的页面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: