Django表单中的CSS样式

我想样式如下:

forms.py:

from django import forms

class ContactForm(forms.Form):

subject = forms.CharField(max_length=100)

email = forms.EmailField(required=False)

message = forms.CharField(widget=forms.Textarea)

contact_form.html:

<form action="" method="post">

<table>

{{ form.as_table }}

</table>

<input type="submit" value="Submit">

</form>

例如,如何设置一个类或ID为subject,email,message以提供外部样式表到?

回答:

摘自我的答案: 如何在Django中使用标记表单字段

class MyForm(forms.Form):

myfield = forms.CharField(widget=forms.TextInput(attrs={'class' : 'myfieldclass'}))

要么

class MyForm(forms.ModelForm):

class Meta:

model = MyModel

def __init__(self, *args, **kwargs):

super(MyForm, self).__init__(*args, **kwargs)

self.fields['myfield'].widget.attrs.update({'class' : 'myfieldclass'})

要么

class MyForm(forms.ModelForm):

class Meta:

model = MyModel

widgets = {

'myfield': forms.TextInput(attrs={'class': 'myfieldclass'}),

}

以上是对完成所要询问内容的原始问题的代码进行的最简单的更改。如果你在其他地方重复使用表格,也可以避免重复。如果你使用Django的as_table / as_ul / as_p表单方法,则你的类或其他属性将正常工作。如果你需要完全控制以完全自定义渲染,则应明确记录在案

添加了更新的方法来为ModelForm指定小部件和属性。

以上是 Django表单中的CSS样式 的全部内容, 来源链接: utcz.com/qa/430113.html

回到顶部