https://code.djangoproject.com/ticket/361
Собственно 7 лет назад, была такая политика)
slav0nicДа, и это печально. Тут должен быть грустно улыбающийся смайлик :)
Собственно 7 лет назад, была такая политика
def count_comments(request): if request.method == 'POST': return HttpResponse(Comment.objects.count())
class SomeForm(forms.ModelForm): class Meta: widgets = { 'income_date' : forms.TextInput(attrs={'class':'calendar'}), 'income_order_date' : forms.TextInput(attrs={'class':'calendar'}), 'outgoing_date' : forms.TextInput(attrs={'class':'calendar'}), 'outgoing_order_date' : forms.TextInput(attrs={'class':'calendar'}), }
pip install django-widget-tweaks
{% load widget_tweaks %} {% render_field form.income_date class="calendar" %}
Saturn
А если учесть что сейчас прогресс движется в сторону Ajax, то Django вообще отстал.
Вот к примеру те же “формы” что упоминал автор, а точнее валидаторы форм. Как блин получить этот form.error используя Ajax когда в ответ приходит уж явный перебор.
class JsonFormResponseMixIn(object): def _to_json(self, j): callback = self.request.GET.get('callback') if callback: j[JSONP_KEY] = callback return j def get_json_object(self): if hasattr(self.object, '__json__'): return self.object.__json__() else: return self.get_default_json_object() def get_default_json_object(self): return dict( id=self.object.id, name=unicode(self.object) ) @to_json def form_valid_response(self): return self._to_json(dict( success = True, object = self.get_json_object(), )) def form_valid(self, form): self.object = form.save() return self.form_valid_response() @to_json def form_invalid(self, form): return self._to_json(dict( success = False, errors = [ (unicode(field.label), u", ".join(field.errors)) for field in form if field.errors], ))
function showFormEror(data) { error_box.empty().show(); $.each(data.errors, function(index, error) { error_box.append('<p><b>' + error[0] + '</b>: ' + error[1] + '</p>'); }); if (data.message) error_box.append('<h2>' + data.message + '</h2>'); };