[英]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.