2015-07-28 8 views
5

В настоящее время я использую CreateView для django для отправки данных в базу данных. К сожалению, метод, который я хотел бы сохранить и выполнить пользовательскую логику, form_valid() никогда не вызывается. Я прочитал еще один ответ на переполнение стека, который form_invalid() может обнаружить проблему, но я не могу получить этот метод для вызова. Единственный метод, который, по-видимому, называется get(), который я переопределил и разместил заявление печати. ​​Что я делаю неправильно?Django form_valid() и form_invalid() в CreateView не называется

объявление класса в 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> 

ответ

18

Видимо кавычки вокруг POST не кавычки были вообще, но подлый Ниндзя жизнь губит знаки. "Против». Я иду спать.

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