Django:实现嵌套的,可重用的组件设计

acj*_*jay 8 python django django-views

我正在研究Django中的一个大型社交网络应用程序,我期望多次使用某些前端组件,并且通常设计的功能使自定义组件包含其他自定义组件,这些组件可能包含更小的子组件(广告无限).所有这些组件通常是动态生成的.我正在尝试找出在Django框架中构建它的最佳方法,这样我的组件易于维护并具有清晰的编程接口.严重依赖全局上下文似乎与此相反,但是,我可以看到通过在视图中一次完成所有操作来避免冗余查询的优势.

自定义包含模板标签似乎非常适合实现组件,但我想知道,高度嵌套的模板标签是否会产生性能问题,或者解析架构是否会阻止这种情况?在视图级别使其自我记录以呈现主页面模板,自定义标签和所有内容所需的上下文的最佳方法是什么?我想象一下,尝试正确维护代码来设置模板上下文是一个小小的噩梦.最后,维护这些组件的CSS的最佳方法是什么?

随意建议其他建议的方法来创建嵌套组件设计.

dji*_*inn 0

这是一个有趣的问题。理想情况下,您应该在渲染之前从数据库中提取所有组件。但从层次结构来看,制作模板标签是有意义的。这些模板标签将提取适当的数据。出于此问题的目的,假设数据库查询由于搜索局部性而被缓存。