В моей форме django есть ошибки при загрузке начальной страницы, прежде чем форма даже получит возможность отправить.ошибки формы django перед отправкой
Мое мнение:
def example_function(request):
if request.method == 'POST':
# the request is GET
else:
form = MyForm(user=request.user)
import pdb;pdb.set_trace()
return render_to_response('templates/example.html', locals(), context_instance=RequestContext(request),)
Где у меня есть мой pdb
импортирован в консоли я вижу, что моя форма уже есть ошибки. Вывод form.errors
в моей консоли - это все поля в модели, для которых установлено значение не null.
(Pdb) form.errors
{'example_field_1': [u'This field is required.'], 'example_field_2': [u'This field is required.']}
The form
пока не представить, но я все еще получаю ошибки. Может кто-нибудь объяснить?
Я использую django 1.4
.
Моя форма:
class MyForm(forms.ModelForm):
captcha = ReCaptchaField()
_readonly_template = form.TextInput(attrs={'readonly':'readonly'})
first_name = forms.CharField(widget = _readonly_tempalte)
def __init__(self, data=None, *args, **kwargs):
data = data or {}
if 'user' in kwargs:
user = kwargs['user']
del kwargs['user']
data.update({
'first_name' : user.first_name,
})
super(MyForm, self).__init__(data, *args, **kwargs)
class Meta:
model = MyModel
Моя модель:
class MyModel(models.Model):
first_name = models.CharField(max_length=255)
example_field_1 = models.CharField(max_length=255)
example_field_2 = models.CharField(max_length=255)
Пожалуйста, ваши код формы –
@IainShelvington Пожалуйста, смотрите мой выбор. – smilebomb
Но вы явно помещаете 'user' в параметр' data' внутри '__init__', поэтому, естественно, форма теперь привязана. Вам нужно это сделать? Вам нужно передать пользователя на GET? –