我编写了一个模板标签,其中包含了我通常希望在视图中找到的大部分逻辑。在编写一些单元测试时,我开始想知道一种稍微不同的方法。我没有足够的经验来判断利弊(也许这甚至是一种众所周知的做法——或者不可行......)。这就是为什么我对你的意见感兴趣。
我的想法是编写一个视图来处理所有逻辑并将模板标签用作将所有相关上下文传递给该视图并返回呈现的 HTML 的包装器。
我希望从这种方法中获得的优势:
- 更容易提供不同的输出格式
- 更容易干燥
- 更容易测试
- 在视图中使用装饰器和 mixin 进行权限检查
- 视图内的缓存控件
- 对 ajax 和/或边缘方面的好方法包括
- 更高的灵活性
例如,呈现树状导航的模板标签可以在通过模板标签访问时提供 HTML,同时其对应的视图仍可通过 URL 访问。
该视图可以提供不同的输出格式,如 JSON、RSS、XML、处理权限检查……可以通过视图测试高级逻辑,而留给模板标签测试用例的责任只是为了确保最基本的。
我会很感激其他意见、提示或链接到包或相关帖子。