我有一个表单,我想输出为自定义HTML.我的forms.py:
from django import forms
from cdrs.models import Localitymayor
class SearchForm(forms.Form):
genus = forms.CharField(max_length=100)
species = forms.CharField(max_length=100)
island_group = forms.ModelChoiceField(queryset=Locality.objects.values_list('islandgroup', flat=True).distinct('islandgroup').exclude(islandgroup="n/a").order_by('islandgroup'))
island_name = forms.ModelChoiceField(queryset=Locality.objects.values_list('islandname', flat=True).distinct('islandname').exclude(islandname="n/a").order_by('islandname'))
Run Code Online (Sandbox Code Playgroud)
在Django文档中,它演示了如何输出自定义html.但是,下面的模板代码显然不适用于选择字段:
<form action="/search/" method="post">
{{ form.non_field_errors }}
<div class="fieldWrapper">
{{ form.genus.errors }}
<label for="id_genus">Genus:</label>
{{ form.genus }}
</div>
...
<div class="fieldWrapper">
{{ form.island_group.errors }}
<label for="id_island_group">Island Group:</label>
{{ form.island_group }}
</div>
...
</form>
Run Code Online (Sandbox Code Playgroud)
如何控制ModelChoiceFields的选择字段的输出?
我想你可以自己构建html.
<select name="{{ form.island_group.name }}">
{% for instance in form.island_group.field.queryset %}
<option value="{{ instance.pk }}">{{ instance.name }} yarr</option>
{% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5067 次 |
| 最近记录: |