2013-08-29 68 views
0

我有一個自定義表單,我想在模板中設置多個字段的格式。有沒有辦法將結果值字段與相關結果選項選項的權限對齊?使用自定義表單參數格式化模板

如果沒有辦法,是否有辦法命名outcomevalue_%s字段,以便它們鏈接到相關的結果選項?例如,如果relevantoutcome =時間,那麼標籤outcomevalue_%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

最好的路要走可能是你寫自己的模板標籤爲您的形式。

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 

有關如何使用自己的templatetags,看看here文檔。