Найти - Пользователи
Полная версия: Изменить значение в ModelForm
Начало » Django » Изменить значение в ModelForm
1
pyOut
Для меня стало неожиданным поведение ModelForm.

Есть модель:
from markitup.fields import MarkupField

class Entry(models.Model):
title = models.CharField(_('Title'), max_length=255)
body = MarkupField()
Есть форма для этой модели:
class EntryForm(forms.ModelForm):
class Meta:
model = Entry
fields = ['title', 'body']
Есть вьюха:
@render_to('edit.html')
def edit(request, id):
entry = get_object_or_404(Entry, pk=id)
form = EditForm(request.POST or None, instance=entry)
if form.is_valid():
entry = form.save()
return HttpResponseRedirect(entry.get_absolute_url())
return {'form': form}
Интересует 2 вопроса:
1) Как вывести для редактирование не отрендеренное представление body в шаблоне (body.raw) ?
2) Как менять содержимое поля чтобы поле form.body поменялось. Делаю так:
class EditForm(forms.ModelForm):
class Meta:
model = Entry
fields = ['title', 'body']

def __init__(self, *args, **kwargs):
super(EditForm, self).__init__(*args, **kwargs)
self.fields['body'].initial = u"Измененное значение" ## Не помогает. Почему???
Doberman26rus
попробуй так
kwargs['initial'] = { 'body':'blablabla'}
и поставь
super(EditForm, self).__init__(*args, **kwargs)
в конце конструктора.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB