Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用小部件更改Django表单中标签的CSS_Css_Django_Django Forms_Django Widget - Fatal编程技术网

使用小部件更改Django表单中标签的CSS

使用小部件更改Django表单中标签的CSS,css,django,django-forms,django-widget,Css,Django,Django Forms,Django Widget,我正在尝试将CSS样式应用于Django(版本3.1.3)中的管理员登录表单。我能够通过forms.TextInput(attrs={'class':'textinputclass'})方法使用小部件轻松定制输入,但是似乎没有办法将CSS类添加到标签中?我可以将标签设置为“false”,这样它就不会出现,但理想情况下,我希望能够将CSS类与之关联 下面的代码显示了用于用户名和密码文本输入的小部件。如何对标签执行类似操作 class MyAuthForm(AuthenticationForm):

我正在尝试将CSS样式应用于Django(版本3.1.3)中的管理员登录表单。我能够通过
forms.TextInput(attrs={'class':'textinputclass'})
方法使用小部件轻松定制输入,但是似乎没有办法将CSS类添加到标签中?我可以将标签设置为“false”,这样它就不会出现,但理想情况下,我希望能够将CSS类与之关联

下面的代码显示了用于用户名和密码文本输入的小部件。如何对标签执行类似操作

class MyAuthForm(AuthenticationForm):
    class Meta:
        model = Lesson
        fields = ['username', 'password']

    def __init__(self, *args, **kwargs):
        super(MyAuthForm, self).__init__(*args, **kwargs)
        self.fields['username'].widget = forms.TextInput(attrs={'class': 'input', 'placeholder': 'Username'})
        self.fields['username'].label = False
        self.fields['password'].widget = forms.PasswordInput(attrs={'class': 'input', 'placeholder': 'Password'})
        self.fields['password'].label = False

如果您不介意单独渲染标签,那么这样做很简单。我自己还没有找到一个更容易的方法

在模板中:

{% for field in form %}
        <label class="label-class">{{ field.label }}</label>
        {{ field }}
    {% endfor %}

进一步阅读:

谢谢,这稍微有效,但我不明白在使用{%csrf_token%}{{form.as_p}}}@Ramirez100时如何将其与表单提交集成。您能解释一下提交表单的问题吗?你也可以发布一些代码!我现在让它工作了。我的问题是您提供的代码列出了表单以及格式化标签。我只是希望在稍后创建表单时为标签提供一个类。我将您的代码更改为{%for字段,格式为%}{%endfor%},这非常适合应用css类。作为后续问题,您是否知道如何针对特定的标签,以便某些标签获得不同的css类?正如您从上述注释中所看到的。我正在努力突出显示中的代码comments@Ramirez100别担心!当您需要一个代码块时,只需按enter键,并在代码的任意一侧用记号(```)将代码包装成三个。
username = forms.CharField(max_length=254, label='Username', widget=forms.TextInput(
        attrs={
        'class': 'input',
        'placeholder': 'username',
        }
    ))