相关疑难解决方法(0)

从模板中获取Django表单小部件的类型

我正在遍历表单的字段,对于某些字段,我想要稍微不同的布局,需要更改HTML.

要准确地做到这一点,我只需要知道小部件类型.它的类名或类似的东西.在标准的python中,这很容易!field.field.widget.__class__.__name__

不幸的是,您不允许访问模板中的下划线变量.大!

可以测试,field.field.widget.input_type但这仅适用于文本/密码<input ../>类型.我需要更多的解决方案.

对我而言,无论它看起来多么困难,最适合在模板级别执行此操作.我已经将处理字段HTML的代码外包给了一个单独的模板,该模板包含在字段循环中.这意味着它在ModelForms和标准Forms 之间是一致的(如果我写了一个中间的Form类,这是不正确的).

如果您能看到一种不需要我编辑20多种形式的通用方法,请告诉我!

django django-templates django-forms

42
推荐指数
4
解决办法
2万
查看次数

标签 统计

django ×1

django-forms ×1

django-templates ×1