Django表单提交错误

时间:2013-06-17 18:43:15

标签: django forms

我在Django中有表格提交这个反复出现的问题,令人沮丧的是我不知道如何解释正在发生的事情。基本上我有不同的页面与表单提交。其中一些工作如下

localhost/page/formpage--> localhost/page/receivingpage

这是我的期望。 Othertimes,它会转到这样的页面

localhost/page/formpage--> localhost/page/formpage/recevingpage

并且屏幕显示一个空白表单页面,这不是我所期望的。我不知道如何解释这个,我不知道在我的代码中查找错误的位置。我认为我不完全理解提交表单时发生了什么,在按“提交”后如何生成URL?

编辑:这是我的html表单:

<!DOCTYPE HTML>
<html>
<div>
<p>Entry Form</p>
<form action= "user" method="post" >
{% csrf_token %}
<p><label for="id_username">Username:</label>
    <input id="id_username" type="text" name="username"" /></p>
<p><label for="id_password">Password</label>
    <input type="password" name="password" id="id_password" /></p>
<input type="submit" value="Submit" />
</form>

</div>
</html>

我怀疑它不是形式,我在另一个应用程序上有它并且它有效...麻烦的是我不知道它是视图,模板还是w / e,所以我会更新根据人们的要求提供信息的帖子。

2 个答案:

答案 0 :(得分:2)

我建议使用action模板标记加入url。有了这个,你就会知道表格最终会在哪里结束:

<form action="{% url 'user-url-name' %}" method="post">

url标记将是绝对网址。如果没有这个,你将最终得到一个相对URL,这取决于用户提交表单的应用程序的位置,这在开发过程中可能非常混乱,而且不完全正确。

答案 1 :(得分:0)

使用{% url %}标记是正确的方法。您也可以通过向/属性添加正斜杠action来解决您的问题:

<form action="/user" method="post" >

希望这有帮助!