Django textarea widget 没有属性"input_type"



我正在尝试检查窗口小部件的输入类型:

for field in form:
    if field.field.widget.input_type == 'checkbox':
        do_smth()
    else:
        do_smth_else()

但似乎django textarea窗口小部件没有属性" input_type"。

我已经通过包装input_type intry/try/drave/dif block解决了问题:

try:
    input_type = field.field.widget.input_type
except AttributeError:
    input_type = 'textarea'

但是我有2个问题:

1)为什么只有这个小部件没有" input_type",而其他小部件则具有?

2)是否有更好的方法来解决上述问题?

我很抱歉我的英语,谢谢您的进步!

这不是一个真正的答案,无论如何都不是一个满足的答案:https://code.djangoproject.com/ticket/30306

简而言之:"我们不添加它"。

我的方法。确保序列如图所示,否则您会遇到错误...

from django.forms.widgets import Textarea
if isinstance(field.widget, Textarea) or field.widget.input_type == 'text':

最新更新