2

我想写一个可以传递变量的 Django 模板标签。

我希望模板标签的行为有所不同,具体取决于变量源自的模型字段类型(CharField、BooleanField、IntegerField 等)以及字段定义中使用的其他信息(max_length 等)

我可以按照以下文档轻松地将变量传递给模板标签: 将模板变量传递给标签

有没有办法确定变量的原始模型字段的类名和模型参数?

换句话说:我可以制作这样的标签:

{% template_tag model.field %}

并在标签渲染功能中访问来自模型的信息?

field = models.CharField(max_length=40)
4

1 回答 1

5

您可以使用 python 的type函数来确定类类型。

if type(field) == models.CharField:
  #CharField specific code
elif type(field) == models.IntegerField:
  #IntegerField specific code
于 2010-02-07T01:25:46.530 回答