我想我有一个关于更好的代码组织的简单问题。
假设我有多个应用程序也实现了这些应用程序应该如何在表示层上表示。
我试图了解如何组织代码,如果我需要在一个页面上呈现多个应用程序,当然不使用框架?
快速示例:假设我有两个应用程序(app1和app2)都实现了相应的模型和视图。现在我需要我的索引页,以包含这两个视图的表示。我怎么能实现通用视图,仍然利用应用程序视图,而不是直接去他们的模型?我还是希望我的应用能控制它的视图。
谢谢
我想你可以使用render_to_string快捷方式因此,在应用程序视图中,你可以输入:
render_to_string(somestuff) # instead of render() or render_to_responce()
然后在索引视图中像这样:
render(request, 'index.html', {'block1': view1(request), 'block2': view2(request)})
PS:另外,在我写完这篇文章之后,它看起来不太好(它在我的脑海中看起来更好:))。
问得好,我告诉你我是怎么做到的。
我使用(特定于应用程序)自定义模板标签。这些模板标签将额外的内容放入上下文中,这些内容可以在模板中使用。您可以从文档中了解更多关于自定义模板标记的信息。
有一本好书,实用django项目第二版,我觉得有点过时了,但给了你一个很好的项目组织洞察力。