Ответ 1
Наличие действия пустой строки в большинстве браузеров указывает форму на URL-адрес, загруженный браузером, который является script, который служил форме в первую очередь.
В Django/Pinax я столкнулся с формой входа, которая начинается следующим образом:
<form class="login" method="POST" action="">
Это работает отлично. Поэтому я предполагаю, что какой-то java- script или что-то в структуре Django помещает значение в атрибут action.
Итак, мои вопросы:
Обновление: я вижу, что это вообще не Django, но что делает большинство браузеров.
Наличие действия пустой строки в большинстве браузеров указывает форму на URL-адрес, загруженный браузером, который является script, который служил форме в первую очередь.
Для интересного понимания форм с пустыми действиями читайте этот поток, который дает вам обновленную HTML5-перспективу по этому вопросу.
Также возможно, что javascript, загруженный этой страницей, может устанавливать действие после загрузки страницы в зависимости от того, какое приложение использует эту страницу.
Другая вероятная возможность заключается в том, что javascript обрабатывает событие onsubmit. Это можно сделать, чтобы предотвратить перегрузку страницы или перенаправление на определенную страницу.
Я думаю, что немного поздно ответить на этот пост. В любом случае, я узнаю об этом.
Если "действие" не указано в формах, тогда Django просматривает HttpResponseRedirect
в соответствующем представлении.
Например, в следующем примере:
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/')
Однажды форма проверяется (и обрабатывается), страница перенаправляется на "спасибо"