繁体   English   中英

django:如何互连网页的各个逻辑部分

[英]django: how to interconnect various logical pieces of a webpage

大家。 我只是从django开始,所以很抱歉有一个愚蠢的问题。

想象一下,我有一个包含3个逻辑部分的网页:内容,动态菜单,横幅。 对于我来说,拥有一个类似以下内容的模板似乎是可以的:

{% include "banners.html" %}
{% include "menu.html" %}
{% include "content.html" %}

但是,我该怎么办呢? 每个部分在其单独的应用程序中的单独视图中都有其单独的逻辑。 如何触发所有三个视图的执行并呈现所有三个模板?

PS是否有一个类似于Django应用程序的sourceforge网站,在这里我可以看一下人们在实际项目中的工作方式吗?

执行此操作的标准方法如下:

模板:

  • 有一个base.html,其中包含横幅,菜单和一个为空的主体块。
  • 对于每个模板,扩展base.html并覆盖body块。

     {% extends "base.html" %} {% block body %} -- Your this page's content goes here. {% endblock %} 
  • 您可以在必要时使用包含,但在可能的情况下更喜欢扩展。 包含被辩论是否包含在模板语言中。

填充上下文:

现在,您有许多带有占位符的模板,需要用实际的“ context”值替换。

  • 传递RequestContext,其中应该包含模板的许多标准要求。
  • 对于每个模板所需的值,编写一个模板上下文处理器。
  • 您需要在该模板中填充那些上下文。

使用多个应用程序的视图:

  • 为重用而编写的大多数应用程序将包含template_name作为标准参数,以及extra_context。 您将需要使用这些参数调用这些视图。
  • 某些应用程序会自行处理,以创建延迟评估的响应(例如TemplateResponse),以便您可以在视图中获取它们填充的上下文。

Django可重用应用程序:

你在跟我开玩笑吗? 他们都在互联网上!

http://github.com/search?q=django&type=Everything

http://bitbucket.org/repo/all/?name=django

http://code.google.com/hosting/search?q=django&projectsearch=Search+projects

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM