0

У меня слишком много форм, более 60, я думаю, каждая форма является моделью из ModelForm, пользователь может обновить данные, которые они заполняют, im делает это с UpdateView для каждая форма, я имею в виду, один вид для каждой формы, поэтому у меня слишком много просмотров, возможно, после философии django «не повторяйте себя». Могу ли я иметь только один вид и один шаблон для обновления всех форм?Два или более UpdateView в одном представлении

Операция заключается в следующем:

Каждая форма представляет собой модель, и каждая форма есть уникальный URL, поэтому Джанго должен определить, какие обновления форма должна оказывать в зависимости от рк передать его URL. До тех пор, пока я не сделал это, но, как я сказал ранее, каждое представление для каждой формы, мне нужно сделать это в одном представлении для всех форм, используя один шаблон.

ответ

2

Вы можете передать параметры в класс представления в конфигурации URL:

urlpatterns = [ 
    ... 
    url(r'^(?P<pk>\d+)/$', UpdateView.as_view(model=MyModel, form_class=MyModelForm)) 
] 

Эти опции могут быть любой атрибут, который существует в классе просмотра, и перезаписывает значение для этого экземпляра.

+0

спасибо, thats works .. Но есть ли способ передать уникальный шаблон для всего URL-адреса, который отображает только одну форму в зависимости от параметров? – dfrojas

+1

'template_name' - еще один вариант, который вы можете передать таким образом. – knbk

+0

приятно! я думал, что только один шаблон может быть передан одному виду – dfrojas

Смежные вопросы