2009-11-11 3 views
4

Я пытаюсь добавить несколько встроенных элементов формы на страницу с помощью Djangos ModelForms. Мне нужны флажки выбора, привязанные к моделям баз данных. Формы форматируются и помещаются в табличный формат, поэтому мне нужно отображать только ModelForm без ЛЮБОГО окружающего HTML.Настроить вывод HTML Django ModelForm

class LeagueForm(ModelForm): 
league = forms.ModelChoiceField(queryset=League.objects.all(), empty_label='Manual Team Entry:', required=False) 

class Meta: 
    model = League 
    exclude = ['league_name'] 

Шаблон:

{% if selected_sport == 1 %}   
<td>{{ nhl_form.as_p }}</td> 
{% else %} 

Проблема в том, что я не хочу теги абзаца, ни таблицы тегов или вообще ничего. Мне нужно, чтобы форма красиво сидела, где я помещаю ее без искажения окружающего html.

Может ли кто-нибудь указать мне в правильном направлении? Спасибо

ответ

15

Просто обратитесь к каждому полю отдельно.

{{ nhl_form.league }} 

будет показывать только поле, без окружающего хлама.

+1

И как я могу добавить дополнительные пользовательские имена классов CSS для каждого поля (для обработки с CSS/JQuery позже)? – Viet

+1

@Mark: подробности здесь: http://docs.djangoproject.com/en/1.1/topics/forms/#looping-over-the-form-s-fields – Viet

+0

@viet, эта документация была очень полезной, поскольку я не хотите обращаться к каждому полю отдельно. – joshcartme