У меня есть django charField, который проверяется с помощью метода is_valid (). Предполагается, что пользователь должен ввести в это поле допустимое логическое выражение, поэтому я написал метод синтаксического анализа, который вызывает исключение, если выражение неверно.
Как я могу улучшить метод is_valid (), чтобы охватить это исключение и показать пользователю сообщение об ошибке, что его запрос был неправильным?
Я читал эту статью (https://docs.djangoproject.com/en/dev/ref/forms/validation/#cleaning-a-specific-field-attribute), но до сих пор не знаю, как это сделать.
try:
job = Job(user=request.user) # set the current user
form = JobForm(request.POST, instance=job)
if form.is_valid():
form.save()
job.execute()
messages.success(request, u'A new job with the query "{query}" was created.'.format(query=job.query))
return HttpResponseRedirect(reverse('job-index'))
return self.render_to_response({'job_form': form, 'is_new': True})
except ParseError:
return self.render_to_response({'job_form': form, 'is_new': True})
Попробовать ... кроме блока должно быть сделано в методе is_valid (), что и является моим намерением. У кого-нибудь есть намеки?