2

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

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

4

1 回答 1

1

您可能想使用FormView

class ItemFormView(FormView):
    template_name = 'template.html'
    form_class = ItemForm
    success_url = '/'
于 2013-04-22T22:44:45.660 回答