如何去掉 django Form 中的标签?

问题描述 投票:0回答:2

我之前只接触过ModelForm,所以这是我第一次使用Form。 我想从表单中删除标签,但是,如何删除 ModelForm 中的标签似乎不适用于 Form。

这是我的代码:
forms.py

class UserLoginForm(forms.Form):
    email = forms.CharField(max_length=255)
    password = forms.CharField(max_length=255)

    labels = {
        'email': '',
        'password': ''
    }
    widgets = {
        'email': forms.TextInput(attrs={'class': 'login_input', 'placeholder': 'Email'}),
        'password': forms.PasswordInput(attrs={'class': 'login_input', 'placeholder': 'Password'})
    }

这看起来是一个简单的问题,但事实证明我无法从 django 官方文档或 Google 中得到我想要的东西。如果您能帮我解决问题,我将不胜感激。

python django django-forms django-templates django-widget
2个回答
1
投票

正如上面评论中提到的@Carcigenicate,您可以直接使用

{{form.email}}
,它只会渲染输入标签而不是标签标签。

要删除标签,您应该使用内联标签而不是标签字典,因为它们是在

Meta
类中定义的,所以:

class UserLoginForm(forms.Form):
    email = forms.CharField(max_length=255, label="")
    password = forms.CharField(max_length=255, label="")

您还可以定义内联

widegts

然后您可以使用

{{form}}
并且不会在模板中看到标签。


0
投票

不确定这是否是您正在寻找的,但这就是我所做的:

class MyForm(forms.Form):
    template_name_label = None
© www.soinside.com 2019 - 2024. All rights reserved.