Форум сайта python.su
Привет, много всего перерыл не могу найти, допустим я загружаю шаблон в нем есть форма которую я хочу загрузить сразу с текстом внутри, тоесть чтобы призкгрузке сразу в поле form.name уже было написано значение name
<p>{{form.name}}{{name}}</p>
Отредактировано andy_k (Июль 27, 2015 14:57:20)
Офлайн
Офлайн
balalay12Плохо искал значит, спасибо помогли.
get_form_kwargsDjango set default form valuesСоздание и обработка формы с помощью CBV
Офлайн
Такой вопрос, раз уж вы кидали ссылку про CBV, вот клепаю не сложный каталог инет магазин, для товарища ради саморазвития и обучения, смотрел LSF и прочие решение готовые, но решил написать чего-то простого сам.
Вот уже не первый раз сталкиваюсь с вопросов классы или функции в преставлениях? Как то с функциями чтоли нагляднее все получается хоть и больше кода, а в классы не так явно видно что происходит.
Хотелось бы мнение опытных товарищей. В инете мнений много, читал разные статьи.
Не холивара ради.
Спасибо
Офлайн
CBV подразумевает т.н. generics classes - классы общего назначения. Это означает что отдельные классы делают достаточно общий и явные вещи, но явные не простому прохожему, а кто занимается Django. Т.о. однажды узнав что делает конкретный дженерик, ты всегда будешь знать что он делает, увидев его в чужом коде.
Эти классы были созданы что бы убрать рутинные операции.
Офлайн
Больше кода получается если вам нужно очень специфические операции.
Вместо
def my_form_view(request): if request.method == 'POST': form = MyForm(request.POST) if form.is_valid(): # process form data return HttpResponseRedirect('/redirecturl') else: form = MyForm() return render(request, 'template.html', {'form': form})
class MyFormView(FormView): form_class = MyForm template_name = 'template.html' redirecturl = '/redirecturl' def form_valid(self, form): # process form data
class MyFormView(FormView): ... def get_initial(self): return {'name': 'myname'}
Офлайн
Спасибо, очень понятно и доступно.
PS: Переделаю свои представления классами, так действительно красивее.
Офлайн
Привет, не могу разобраться может кто сталкивался, вместе с get_context_data перестает работать get_initial
и шаблон подгружается с пустым полем в форме, убираю get_context_data() шаблон подгружается с значениями прописаными в полях как и должно быть, подскажите пожалуйста. Мне нужно и передать данные для показа в шаблон и часть полей подгрузить уже заполненными.
class MyFormView(FormView): ... def get_initial(self): return {'name': 'myname'} def get_context_data(self): ............ return context
Офлайн
andy_kНе правда.
Спасибо, очень понятно и доступно.PS: Переделаю свои представления классами, так действительно красивее.
Офлайн
ihoЧто конкретно неправда? Конкретизируй.
Не правда.
Офлайн