Приветствую!
На сайте есть несколько простых страниц. Подскажите как правильно создать форму для редактирования (не через админку), для нужной FlatPage ?
Форму создаю так:
from django.forms import Form
from django.contrib.flatpages.models import FlatPage
class FlatPageForm(Form):
class Meta:
model = FlatPage
Для вьюхи через урл передаю идентификатор простой страницы (http://............./edit/fp/1/). Но вот как правильно его применить, чтобы получить данные именно для этой страницы - ума не приложу:
def edit_fp(request, fp_id):
form = FlatPageForm(request.POST or None)
context = { 'form': form, }
if request.method == 'POST' and form.is_valid():
form.save()
messages.success(request, 'Отредактировано!')
return redirect('choice_fp')
return render(request, 'gallery/edit_fp.tpl', context)
Логически я понимаю, что необходимо каким-то образом передать в форму, данные о нужной страниц. Попробовал сделать это по аналогии, как для моделей form = AlbumForm(request.POST or None, instance=item)
, но Джанго ругается, что в записи form = FlatPageForm(request.POST or None, instance=..)
-- instance
является лишним аргументом.
Подскажите пожалуйста, как правильно, для редактирования простой странице в форме, получить именно ту страницу, id которой указан в урл и чтобы потом эту страницу корректно сохранить?
Заранее благодарен!!!
Updated 14 Nov. 2016, 18:26 by oleg_n.