2013-04-22 2 views
2

В Django 1.4 и раньше, я имел взгляды, которые выглядели так:Перенастройка взгляды метода к классу на основе представления с TemplateView

def myview(request, item_id): 
    item = get_object_or_404(Item, item_id) 

    if request.method == "GET": 
     return direct_to_template(request, "template.html", 
      { 'form': ItemForm() }) 
    elif request.method == "POST": 
     form = ItemForm(request.POST) 

     if form.is_valid(): 
      return redirect("/") 
     else: 
      return direct_to_template(request, "template.html", 
       { 'form': form }) 

которые я хотел бы переписать это, чтобы быть совместимым с Джанго нового класса-based- используя систему TemplateView, но я не уверен, как реализовать методы. Как мне перейти на использование подкласса TemplateView для реализации POST и GET?

ответ

1

Вы, вероятно, хотите использовать FormView:

class ItemFormView(FormView): 
    template_name = 'template.html' 
    form_class = ItemForm 
    success_url = '/' 
+0

Как написать реальную интерактивность в классе? –

+0

Какую «интерактивность» вы хотите? – Hamms

+0

То же, что и выше. Как написать метод 'get()' и метод 'post()'? –

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