简版:
在Django模板中,有没有一种简单的内置方法来识别调用视图,而不需要传递额外的上下文变量?
长(原始)版:
我的一个Django应用程序有几个不同的视图,每个视图都有自己的命名URL模式,并且所有这些视图都呈现相同的模板。有很少量的模板代码需要根据调用的视图进行更改,但太小了,无法为每个视图设置单独的模板。因此,理想情况下,我需要找到一种方法在模板中识别调用的视图。
我尝试设置视图以传递额外的上下文变量(例如“view_name”)来标识调用的视图,我还尝试使用{% ifequal request.path "/some/path/" %}
比较,但是这些解决方案都不是特别优雅。是否有更好的方法来从模板中识别调用视图?是否有一种方法可以访问视图的名称或URL模式的名称?
更新1:关于评论说这只是我误解了MVC的情况,我理解MVC,但是 Django并不是真正的MVC框架 。我认为我的应用程序设置方式符合Django对MVC的理解:视图描述呈现哪些数据,模板描述如何呈现数据。正好我有许多描述不同数据的视图,但是所有视图都使用相同的模板,因为数据在所有视图中以相同的方式呈现。我只是想找到一种简单的方法来从模板中识别调用的视图,如果存在这样的方法的话。
更新2: 感谢所有的回答。我认为这个问题被过度思考了--正如我在原始问题中提到的那样,我已经考虑和尝试了所有建议的解决方案--因此,我已经简化了问题,现在置于问题的顶部的是“简短版本”。目前似乎,如果有人只是发表“不”,那么它将是最正确的答案:)
更新3: Carl Meyer 发布了 "不" :) 再次感谢大家。