我有 CRUD View ,其中之一如下所示:
#model
class Model(models.Model):
field1 = models.CharField()
field2 = models.CharField()
#view
class Model1CreateView(CreateView):
model = Model1
fields = ['field1', 'field2']
#template
and model1_form.html
<form action="{% url 'model1_new' %}" method="post">
{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Submit" />
</form>
我需要为field1指定一个css类,我该怎么做?
最佳答案
您需要创建一个Form
并修改该字段小部件的attrs
。有两种常见的方法可以做到这一点。无论哪种情况,您都需要创建一个自定义 Form
并告诉您的 View
使用该表单:
forms.py
from django import forms
from myapp.models import FooModel
class FooForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(FooForm, self).__init__(*args, **kwargs)
self.fields['field1'].widget.attrs = { 'class': 'fooclass' }
class Meta:
model = FooModel
fields = ['field1', 'field2']
或
from django import forms
from myapp.models import FooModel
class FooForm(forms.ModelForm):
field1 = forms.CharField(widget=forms.Textarea(attrs={'class':'fooclass';}))
class Meta:
model = FooModel
fields = ['field1', 'field2']
然后在您的views.py中:
from myapp.forms import FooForm
class Model1CreateView(CreateView):
model = Model1
fields = ['field1', 'field2']
form_class = FooForm
关于python - 为通用表单的字段指定 css 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26713606/