django:无模板的通用视图

1 投票
1 回答
1601 浏览
提问于 2025-04-18 01:52

据我所知,要在Django中使用通用视图,你需要一个模板。

有没有办法或者第三方应用可以在不使用HTML模板的情况下使用通用视图呢?

我很喜欢Django的管理界面,因为你可以在不写HTML的情况下使用和配置它。

我更喜欢Django管理界面中使用的面向对象的方式来进行定制。在大多数情况下,你可以只用漂亮的Python代码,而不需要任何HTML或模板文件。

更新

Django的管理界面确实使用了模板。这是事实。但大家都使用相同且经过验证的模板来自django.contrib.admin。而使用通用视图时,每个人都得自己写模板。我觉得这有点麻烦,而且浪费时间。如果有好的、可扩展的默认模板就好了。

我想可能已经有人为Django开发了一个通用视图系统,你只需要在想修改默认设置时才使用模板。但我用我喜欢的搜索引擎找不到这样的应用。

1 个回答

1

模板需要用到HTML。如果你想让它更通用,我建议使用一个基础模板,然后针对每个模型和CRUD操作(创建、读取、更新、删除)使用一个部分模板,这个部分模板可以接收一个对象或对象列表,并且知道如何准确地展示这个模型。使用块标记的方式也很不错,可以帮助你整理HTML内容。

不过,要写一个像后台管理那样的标准化界面工作量很大,而且不太适合前端使用。

从我的角度来看,使用模板标签和过滤器、块,尽量使用部分模板,并且标准化你传递给模板的变量。

这样你就能拥有一个非常灵活的模板系统,可以重复利用很多HTML代码。

撰写回答