我是Django的新手,但我知道我的目标是永远不要重新发明轮子。我正在开发一个用于监督工厂的应用程序,在所有的html文件中,我都需要实现一个代表工厂结构的树。
->工厂
->生产区
->机器1
->机器2
等
因此,我决定将此树结构放入base.html文件中,并将其扩展到其他所有html文件中。
问题是我需要使用views.py文件从数据库中提取元素,以便调用render函数将其发送到html文件。
我的问题是如何在base.html中访问此数据,因为他没有任何views.py来使用渲染功能。
谢谢巴蒂斯特。
答案 0 :(得分:0)
如果您希望网站的每个模板(在您的情况下为树)中都显示某些内容,则可以将其放在基本模板和inherit from that template中。
我个人(以及许多其他人)使用3级模板结构。您可以在this GitHub repo和this post中找到示例/说明。随时根据您的需求调整想法。
因此,在您的情况下,您可以将树结构(工厂结构/布局)放入基本模板中。如果必须从数据库中获取树的数据,则可以使用custom context processor,这样就不必在每个视图中都重复树获取代码。