29

在 Django / Pinax 中,我遇到了这样开头的登录表单:

<form class="login" method="POST" action="">

它工作得很好。因此,我假设 Django 框架中的某些 java 脚本或某些东西将值放入 action 属性中。
所以,我的问题:

  • Django如何插入动作?
  • 他们为什么这样做?
  • 我怎样才能知道这个表格的作用是什么?

更新:我看到这根本不是 Django 的事情,而是大多数浏览器所做的事情。

4

4 回答 4

39

在大多数浏览器中,空字符串的操作将表单指向浏览器当前加载的 URL,这是首先为表单提供服务的脚本。

于 2009-03-13T02:57:26.260 回答
5

有关具有空操作的表单的有趣见解,请阅读此线程,它为您提供了有关此问题的更新的 HTML5 视角。

于 2012-08-16T20:22:01.693 回答
3

页面加载后,该页面加载的 javascript 也可能会根据正在使用该页面的应用程序设置一个操作。

另一种可能的可能性是 javascript 正在处理 onsubmit 事件。这样做可以防止页面重新加载或重定向到特定页面

于 2009-03-13T17:58:56.640 回答
0

我想现在回答这个帖子有点晚了。不管怎样,我会从这件事上学到什么。

HttpResponseRedirect如果表单中没有指定“动作”,那么 Django在相应的视图中查找。

例如,在下面的示例中:

if form.is_valid(): # All validation rules pass
        # Process the data in form.cleaned_data
        # ...
        return HttpResponseRedirect('/thanks/')

一旦表单被验证(和处理),页面被重定向到“谢谢”

于 2014-07-24T10:07:01.687 回答