自定义django表单字段

时间:2009-12-31 05:08:29

标签: django

我想在lable标签中获取“*”。有点接近这个

<label for="id_name"><strong>Name</strong> <em>*</em></label>

使用label_tag

{{ field.label_tag }}

它生成为

<label for="id_city">City</label>

这会开始和关闭标签标签,如何在关闭之前插入“ *

这个黑客似乎有效,

<label for="id_{{ field.label }}">{{ field.label }} 
{% if field.field.required %}<em>*</em>{% endif %}</label> 

它不起作用,因为字段标签ID与字段标签不同,因为“名称”不是“名称”

2 个答案:

答案 0 :(得分:2)

您的代码与this Django snippet非常相似。有评论建议使用:

    <label for="{{ field.auto_id }}">

而不是你的:

    <label for="id_{{ field.label }}">

您也可以尝试this snippet作为替代方案。

答案 1 :(得分:0)

<强>模板:

<label for="{{ user_form.first_name.id_for_label }}" class="{{ user_form.first_name.css_classes }}">{{ user_form.first_name.label }}{{ user_form.label_suffix }}</label>

<强> forms.py:

class UserChangeForm(DjangoUserChangeForm):
    error_css_class = 'field_error'
    required_css_class = 'field_required'

<强> CSS:

.field_required:after {
    content: " *";
}