我在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,所以我会更新根据人们的要求提供信息的帖子。
答案 0 :(得分:2)
我建议使用action
模板标记加入url
。有了这个,你就会知道表格最终会在哪里结束:
<form action="{% url 'user-url-name' %}" method="post">
url
标记将是绝对网址。如果没有这个,你将最终得到一个相对URL,这取决于用户提交表单的应用程序的位置,这在开发过程中可能非常混乱,而且不完全正确。
答案 1 :(得分:0)
使用{% url %}
标记是正确的方法。您也可以通过向/
属性添加正斜杠action
来解决您的问题:
<form action="/user" method="post" >
希望这有帮助!