首页 > 解决方案 > Django 中的模板太多

问题描述

我正在学习 Django,并为各种对象编写 CRUD。目前我需要为每个对象生成三个模板:一个用于创建,一个用于更新,一个用于列表。看看我在图片中得到了多少模板。

过程越来越痛苦。

我做错了什么以及如何纠正它?

谢谢。

模板

标签: pythondjango

解决方案


从您的评论中:

问题是如果我需要进行更改,例如添加一个新按钮,我必须在所有模板中进行更改。

这听起来不对。一个按钮要么属于一种事物,然后它应该只存在于该模板中,要么它应该在每个页面上,然后它应该在基本模板中。

您可以使用基本页面布局(包括此类按钮)制作一个模板,并在其中包含“块”,然后由扩展基本模板的每个模板填充。

请参阅有关模板继承的 Django 文档

另外,我认为在大多数情况下,“创建”和“更新”页面会非常相似。通常他们使用相同的模板,一个已经填写了数据,另一个没有。

您可以有一个基本模板,然后是一个通用列表模板和一个通用编辑/创建模板,每种类型的事物的模板都可以扩展列表和编辑模板以仅填写相关字段。

此外,也许您使用的 HTML 与 Django 表单可以呈现的内容非常接近。然后,只要您在每个视图中调用相同的编辑/创建表单(如“表单”),模板就可以渲染表单并且它们都可以使用相同的模板。


推荐阅读