1

我在 Django 中提交表单时经常遇到这个问题,令人沮丧的是我不确定如何解释正在发生的事情。本质上,我有不同的页面,上面有表单提交。其中一些工作如下

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

这是我所期望的。其他时候,它会转到这样的页面

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,所以我将更新帖子人们要求的信息。

4

2 回答 2

2

我建议action使用url模板标签。这样,您将确定表格将在哪里结束:

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

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

于 2013-06-17T18:58:19.077 回答
0

使用{% url %}标签是正确的做法。您的问题也可以通过向属性添加正斜杠/来解决,如下所示:action

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

希望这可以帮助!

于 2013-06-17T19:02:17.850 回答