【发布时间】:2012-01-04 15:02:11
【问题描述】:
有没有办法在模板标签中获取模板名称(被解析)? 我已经阅读了搜索并没有发现任何东西,只有这个以前的帖子 Getting the template name in django template
这对我没有多大帮助,因为答案依赖于 settings.DEBUG 为真,在我的情况下不可能。
我真的不知道从哪里开始,所以欢迎任何建议:)
编辑
所以基本上我想要的是创建一个可插入的标签,在渲染时它会检查标签对象,这将是标签对象的来源
class Tag(models.Model):
template = models.CharFIeld(max_length=50)
name = models.CharField(max_length=100)
plugins = models.ForeignKey(PluginBase)
如果有标签对象,那么它会显示所有插件对象,如果没有,它会创建一个标签对象,该标签对象对模板标签中提供的名称和模板名称是唯一的,如果无法获取模板名称,那么我猜我可以让它每个名字都是唯一的。对于熟悉 django-cms 的人来说,整个标签有点像占位符
【问题讨论】:
-
我怀疑这是不可能的。据我所知,在标签解释完成之前,模板结构会被解析成树状模型。所以我假设你需要的信息在执行模板标签时丢失了。 (这只是一个疯狂的猜测,但我认为你应该计划另一种方式;))
-
您的实际用例是什么?我怀疑有更好的方法来实现你想要的。
标签: python django django-templates