Форма Django valid() и форма invalid() в CreateView не вызывается
в настоящее время я использую CreateView django для публикации данных в базе данных. К сожалению, метод, где я хотел бы сохранить и выполнить пользовательскую логику, form_valid() никогда не вызывается. Я прочитал другой ответ переполнения стека, который form_invalid () может раскрыть проблему, но я не могу заставить этот метод вызвать либо. Единственный метод, который, кажется, вызывает get (), который я преодолел и поместил оператор печати. Что я делаю не так?
объявление класса в 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>
2 ответов
по-видимому, кавычки вокруг POST были вовсе не кавычками, а подлыми знаками разрушения жизни ниндзя. " против." Я иду спать.