Кодирование в Django с использованием форм. У меня проблема, когда форма GET, тогда каждое поле всегда отображается с ошибкой «Это поле обязательно для заполнения», но проблема не существует, если форма POST. Вот простой пример (частичный код), * 1001 *
views.py:
def login(request):
if request.method == 'GET':
form = RegisterForm (request.GET)
else:
form = RegisterForm ()
return render_to_response('register.html', locals(), context_instance=RequestContext(request))
register.html:
<form action = "" method = "GET">
<table style = "border: none;">
<tr>
<td class = "login"><strong>email:</strong></td>
<td class = "login">{{ form.email }}</td>
<td><span class = "error">{{ form.errors.email }}</span></td>
</tr>
...
</table>
</form>
Если вы измените все «GET» на «POST», все будет хорошо. Или же form.errors.email всегда будет выдавать «Это поле обязательно для заполнения». ошибка.
Еще одна странная вещь ... не похоже, что я вижу какие-либо объекты формы, инициируемые с помощью request.GET. В Django Book 2.0 показан только объект формы, инициированный с помощью request.POST. Есть что-то, чего я здесь не хватает?
Большое спасибо за любые советы.
РЕДАКТИРОВАТЬ: спасибо за советы от Крейга и Игнасио. Тем не менее, мой вопрос заключается в том, что независимо от того, что я делаю с этой формой, либо GET, либо POST, наличие GET в форме всегда выдает мне ошибки формы о «обязательном поле». Это механика, которую я не понимаю. Любая помощь по этому вопросу будет принята с благодарностью, спасибо.