在 Django / Pinax 中,我遇到了这样的登录表单:
<form class="login" method="POST" action="">
它完全正常运作。因此,我假设一些JavaScript或Django框架中的内容将值放入操作属性中。
所以,我的问题是:
- Django如何插入操作?
- 为什么他们要这样做?
- 我如何找出此表单的操作是什么?
更新:我看到这根本不是Django的事情,而是大多数浏览器都会这样做。
在 Django / Pinax 中,我遇到了这样的登录表单:
<form class="login" method="POST" action="">
它完全正常运作。因此,我假设一些JavaScript或Django框架中的内容将值放入操作属性中。
所以,我的问题是:
更新:我看到这根本不是Django的事情,而是大多数浏览器都会这样做。
此页面加载的 JavaScript 也可能根据使用该页面的应用程序,在页面加载后设置一个动作。
另一个可能性是 JavaScript 处理 onsubmit 事件。这样做可以防止页面重新加载或重定向到特定页面。
我猜回答这篇文章有点晚了。无论如何,我会分享一下我对此的学习。
如果表单中没有指定“action”,那么Django将在相应的视图中查找HttpResponseRedirect
。
例如,在下面的示例中:
if form.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('/thanks/')
一旦表单经过验证(并处理完成),页面将重定向到“感谢页面”