我想我有一个关于更好的代码组织的简单问题。
假设我有多个应用程序也可以实现这些应用程序在表示层上的表示方式。
我想了解如何组织代码,如果我需要在一个页面上呈现多个应用程序而不使用框架当然?
快速示例:假设我有两个应用程序(app1和app2),这两个应用程序都会显示相应的模型和视图。现在我需要我的索引页面来包含这两个视图的演示。如何实现仍然使用应用程序视图而不是直接访问其模型的通用视图? 我更喜欢我的应用程序仍然控制其视图。
由于
答案 0 :(得分:5)
我认为您可以使用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:在我写完这篇文章之后它看起来并不是很好(在我看来它看起来更好:))。
答案 1 :(得分:3)
好问题,我告诉你我是怎么做到的。
我使用(特定于应用)自定义模板标记。这些模板标签将额外的东西放入上下文中,您可以在模板中使用它们。您可以从docs了解有关自定义模板标记的更多信息。
有一本好书,Practical django Projects 2nd edition,我认为这有点过时了,但是让您对项目组织有了深刻的了解。