【问题标题】:Django - Determine field type of a variable passed to a template tagDjango - 确定传递给模板标签的变量的字段类型
【发布时间】:2011-01-14 00:02:56
【问题描述】:

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

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

我可以按照以下文档轻松地将变量传递给模板标签: Passing template variables to the tag

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

换句话说:我可以做一个这样的标签吗:

{% template_tag model.field %}

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

field = models.CharField(max_length=40)

【问题讨论】:

    标签: python django variables field templatetags


    【解决方案1】:

    可以使用python的type函数来判断类的类型。

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

    【讨论】:

    • 晚了 4 年,但你确定吗……至少我是如何获得字段的,models.CharField 的类型是 unicode
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2012-09-27
    • 2011-03-04
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2014-03-04
    相关资源
    最近更新 更多