如何使用 <div class='field_type'> 标记表单字段在姜戈 [英] How to markup form fields with <div class='field_type'> in Django
问题描述
我无法找到一种方法来识别 django 模板中的字段类型.我的解决方案是创建一个简单的过滤器来访问字段和小部件类名称.我已经包含了下面的代码,以防对其他人有帮助.
有更好的方法吗?
## agency/tagutils/templatetags/fieldtags.py#############################################################从 Django 导入模板注册 = 模板.图书馆()@register.filter(name='field_type')定义字段类型(值):返回值.field.__class__.__name__@register.filter(name='widget_type')定义小部件类型(值):返回值.field.widget.__class__.__name__## 客户端/项目/settings.py#############################################################安装_应用程序 = (# ...'agency.tagutils',)## 客户端/项目/模板/项目/field_snippet.html#############################################################{% 加载 fieldtags %}<div class="field {{ field|field_type }} {{ field|widget_type }} {{ field.name }}">{{ field.errors }}<div class="form_label">{{ field.label_tag }}
<div class="form_field">{{ 场地 }}
##示例输出html#############################################################<div class="field CharField TextInput family_name"><div class="form_label"><label for="id_family_name">姓</label>