1

表格.py

INCIDENT_LOCATIONS = (
    ('01. Classroom', '01. Classroom'),
    ('02. Corridor', '02. Corridor'),
    ('03. Stairs', '03. Stairs'),
    ('04. Playground', '04. Playground'),
    ('05. Sportsground', '05. Sportsground'),
    ('06. Excursion', '06. Excursion'),
)

class SearchForm(forms.Form):
    keywordsearch=forms.CharField(max_length=100,label="search")
    incident=forms.CharField(widget=forms.TextInput(attrs={'class':'special'}))
    location=forms.CharField(max_length=100)
    fromdate = forms.DateField(label="From Date", input_formats=['%d/%m/%Y'], validators=[validate_date])
    todate = forms.DateField(label="To Date", input_formats=['%d/%m/%Y'], validators=[validate_date])

1.如何编写css类来增加特定字段的长度,我要求事件字段比关键字搜索字段更长

2.如何在django中创建下拉框。主要目的是选择上述任何一个选项。这里选择我正在尝试做的位置字段中的事件位置。我不知道如何显示此表单在html页面中。

3.如何减少表单中日期字段的长度,因为它与普通文本框的长度相同。

请帮助我进行上述操作。

谢谢

4

2 回答 2

4

1.如何编写css类来增加特定字段的长度,我要求事件字段比关键字搜索字段更长

您可以使用该size属性,

incident=forms.CharField(widget=forms.TextInput(attrs={'class':'special', 'size': '40'}))

2.如何在django中创建下拉框。主要目的是选择上述任何一个选项。这里选择我正在尝试做的位置字段中的事件位置。我不知道如何显示此表单在html页面中。

不要使用 CharField,而是使用ChoiceFIeld,

location=forms.ChoiceField(choices=INCIDENT_LOCATIONS)

3.如何减少表单中日期字段的长度,因为它与普通文本框的长度相同。

此字段的默认表单小部件是 TextInput。因此,就像第一条一样,您可以使用 size 属性。

于 2013-04-11T07:13:45.083 回答
1

编写自己的 css 类: https ://docs.djangoproject.com/en/dev/ref/forms/widgets/#django.forms.Widget.attrs

>>> name = forms.TextInput(attrs={'size': 10, 'title': 'Your name',})
>>> name.render('name', 'A name')
u'<input title="Your name" type="text" name="name" value="A name" size="10" />'

对于创建下拉框,您可以使用: https ://docs.djangoproject.com/en/dev/ref/forms/widgets/#selectmultiple

location=forms.CharField(max_length=100 widget=form.SelectMultiple)

为了减少长度,您可以使用另一个 css 类,例如:

.myclass { width:100px; }
于 2013-04-11T07:20:28.650 回答