web-dev-qa-db-ja.com

Django Form_valid()およびform_invalid()in CreateViewは呼び出されません

私は現在、DjangoのCreateViewを使用してデータをデータベースに投稿しています。残念ながら、カスタムロジックを保存して実行したいメソッド、 form_valid() は呼び出されません。 form_invalid()が問題を発見するかもしれないという別のスタックオーバーフロー応答を読みましたが、そのメソッドを呼び出すこともできません。呼び出しているように見える唯一のメソッドはget()であり、これを上書きしてprintステートメントを挿入します。何が間違っているのでしょうか。

view.pyのクラス宣言

class TeamCreate(CreateView): # Manipulate and use this Method instead of create_team
    model = Team
    # form_class = create_team_form
    fields = ['team_name', 'sport', 'sport_season']
    success_url = '/'

    def get(self, request, *args, **kwargs):
        self.user = request.user
        print 'happening1'
        return super(TeamCreate, self).get(request, *args, **kwargs)


    def form_valid(self, form):
        print 'happening2'
        # form.instance.save()
        # self.user.teams.add(form.instance)
        form.save()
        return super(form_valid, self).form_valid(form)

    def form_invalid(self, form):
        print "form is invalid"
        return http.HttpResponse("form is invalid.. this is just an HttpResponse object")

関連するテンプレートコード

{% block content %}
<form action="" method=”POST”>
     {% csrf_token %}
     {{ form|crispy }}
     <input class="btn btn-primary" type="submit" value="Create" />
</form>
7
Ryan Brandt

どうやらPOSTの周りの引用符は引用符ではなく、卑劣な忍者の生活を台無しにするマークでした。「対」。私は寝るつもりです。

30
Ryan Brandt

これを試して

<form action="" method="post">
3
gamer