【问题标题】:How to hide default label Django Model forms?如何隐藏默认标签 Django 模型表单?
【发布时间】:2020-09-08 07:51:41
【问题描述】:

当我使用带有 {{form}} 标签的模型表单时,我会为每个元素获得一个默认标签。我可以从元类定义中删除它吗?

我的模型类:

class message(models.Model):
    name = models.CharField(max_length=30)
    email = models.EmailField(max_length=40)
    contact = models.IntegerField(max_length=15)
    message = models.CharField(max_length=1000,blank=True, null=True)

我的表单类:

class MessageForm(forms.ModelForm):
    class Meta:
        model = message
        fields = '__all__'

        widgets = {
            'name' : forms.TextInput(attrs={"value":"Name", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""}),
            'email' : forms.TextInput(attrs={"value":"email", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""}),
            'contact' : forms.TextInput(attrs={"value":"contact", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""}),
            'message' : forms.Textarea(attrs={"value":"emmessage", "onfocus":"this.value = '';","onblur":"if (this.value == '')","required":""})
        }

HTML 代码:

<div class="col-md-6 mail_right">
<form action="" method="post" >  {% csrf_token %}
    {{form}}                                    
</form>
</div>

【问题讨论】:

    标签: python django forms


    【解决方案1】:

    有多种方法可以做到这一点。但是,为什么不将 verbose_name 放在带有希望标签的模型字段定义中,或者如果将其留空,则标签将不会显示。

    所以,在models.py中:

    start_date = models.DateField(verbose_name="Start date")
    

    start_date = models.DateField(verbose_name="")
    

    另一个选项在forms.py中:

    email = forms.EmailField(label="")
    

    这对你有用吗?

    【讨论】:

    • 嗨,Branko,verbose_name="" 有效,但它也会导致管理页面发生变化。我不希望标签隐藏在每个页面中
    • 那你需要对表格进行修改。
    【解决方案2】:

    使用labels -- (django doc) 元选项作为

    class MessageForm(forms.ModelForm):
        class Meta:
            model = message
            fields = '__all__'
            labels = {
                "name": "UpdatedNameLabel",
                "email": "UpdatedEmailLabel"
            }

    【讨论】:

      猜你喜欢
      • 2012-03-09
      • 1970-01-01
      • 2010-09-21
      • 2011-02-16
      • 1970-01-01
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多