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 に答える