我有一个自定义表单,其中包含我想在模板中设置格式的多个字段。有没有办法将结果值字段与相关结果选择权的右侧对齐?
如果没有办法,那么有没有办法命名resultvalue_%s字段,以便它们链接到相关的结果选项?例如,如果relatedoutcome = Time,则resultvalue_%s的标签=时间值
forms.py
self.fields['relevantoutcome']=forms.ModelMultipleChoiceField(queryset=Outcome.objects.all(),required=True, widget=forms.CheckboxSelectMultiple)
self.fields['relevantoutcome'].label="Outcomes"
outcome_qs=Outcome.objects.all()
for outcome in outcome_qs:
self.fields['outcomevalue_%s' % outcome.pk] = forms.CharField(required=False)
self.fields['outcomevalue_%s' % outcome.pk].label = "Outcome Value"
template.html
{{form.as_table}}
答案 0 :(得分:0)
最好的方法是为您的表单编写自己的模板标签。
template.html
{% load yourapp_tags %}
{{ form|as_table }}
yourapp_tags.py
from django import template
register = template.Library()
@register.filter
def as_table(value):
#do the formatting
return value
有关如何使用自己的模板标签的文档,请查看here。