繁体   English   中英

Django-确定传递给模板标签的变量的字段类型

[英]Django - Determine field type of a variable passed to a template tag

我想编写一个Django模板标签,可以向其中传递变量。

我希望模板标记的行为有所不同,具体取决于变量从哪种类型的模型字段(CharField,BooleanField,IntegerField等)以及字段定义中使用的其他信息(max_length等)得出。

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

有没有一种方法可以确定变量的原始模型字段的类名称和模型参数?

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

{% template_tag model.field %}

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

field = models.CharField(max_length=40)

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

if type(field) == models.CharField:
  #CharField specific code
elif type(field) == models.IntegerField:
  #IntegerField specific code

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM