使用TemplateView将方法视图迁移到基于类的视图

时间:2013-04-22 21:38:11

标签: django django-1.5

在Django 1.4和之前,我的观点看起来像这样:

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 })

我想重写一下这与Django使用TemplateView的新的基于类的视图系统兼容,但我不确定如何实现这些方法。如何迁移到使用TemplateView子类来实现POST和GET?

1 个答案:

答案 0 :(得分:1)

您可能想要使用FormView

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