当前位置:  开发笔记 > 编程语言 > 正文

在单个请求中组合多个Django模板

如何解决《在单个请求中组合多个Django模板》经验,为你挑选了3个好方法。

我想知道是否有人可以帮助我找出解决以下问题的最佳方法.我正在构建一个使用Django模板构建其Web UI组件的Web应用程序.有许多常见的HTML元素,如页眉/页脚,HTML头,标头等.我想对这些进行一次编码,并将它们"包含/组合"到代表核心应用程序功能的其他模板中.

这可能使用Django模板吗?如果是这样,我怎么能完成那个?



1> kristina..:

你可以使用django的extends标签.说你有一个页眉和页脚.你可以创建一个名为foo.django的模板:

My HTML Header

{% block content %} {% endblock %}

然后,你可以制作另一个模板,比如bar.django:

{% extends "foo.django" %}

{% block content %}
This overrides the content block in foo.django.
{% endblock %}

...然后将呈现:

My HTML Header

This overrides the content block in foo.django.

有关django模板的详细说明,请访问http://www.djangobook.com/en/1.0/chapter04/.



2> akaihola..:

这些{% extends %}{% include %}方法适用于在上下文中不需要额外信息的页面元素.

只要您需要从数据库向上下文中插入更多内容,模板标签就会派上用场.例如,Django附带的contrib.comments应用程序定义了一个{% get_comment_list %}模板标签,用于检索附加到给定模型实例的注释.以下是您将如何使用它:

{% load comments %} {% get_comment_list for my_instance as comment_list %} {% for comment in comment_list %}

{{ comment.name }} wrote:

{{ comment.comment }} {% endfor %}

您可以将其保存在单独的模板中,{% include %}也可以保存在其他模板中.

对于您自己的内容,您可以编写自己的自定义模板标记.按照文档.只要有可能,使用简单标记机制编写标记很方便.你会在djangosnippets.org和blogosphere上找到方便的现成模板标签.



3> S.Lott..:

试试{% include %}标签.

http://docs.djangoproject.com/en/dev/ref/templates/builtins/#include

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有