Простой вопрос о форматировании формы в Django - PullRequest
1 голос
/ 04 сентября 2011

Я хотел бы создать форму, которая позволит пользователям вводить список продуктов. Каждый элемент определяется именем, суммой и категорией. В настоящее время я делаю это с помощью formsets. Вот код, из которого я создаю экземпляр formset в моем файле views.py:

class InputForm(forms.Form): 
    item = forms.CharField() 
    amount = forms.CharField() 
    category = forms.CharField() 

Но это приводит к выводу, который выглядит следующим образом:

Item: 
Amount:
Category:
Item: 
Amount:
Category:

Как мне отформатировать вывод, чтобы последовательность «товар, сумма, категория» стала горизонтальной?

Item: [room for user input]  Amount: [user input]  Category: [user selection]
Item: [room for user input]  Amount: [user input]  Category: [user selection]   

Должен ли я работать в шаблоне или я могу что-то сделать в моем файле forms.py?

1 Ответ

0 голосов
/ 04 сентября 2011

У вас есть два варианта:

(1) Выполните итерацию по набору форм в вашем шаблоне и используйте свой шаблон для размещения форм;или

(2) Переопределите методы макета в форме, чтобы изменить созданный HTML-макет.

Я предпочитаю (2), но многие предпочитают (1).Преимущество (2) состоит в том, что вы можете повторно использовать этот код компоновки, если разбиваете его на миксин.(Я на самом деле добился этого с помощью исправлений обезьян, но это не нужно).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...