2017-03-02 72 views
0

我想让用户在提交表单后将用户重定向到新的URL。这就是它现在的样子,它能正常工作,所有的数据都被发送到django数据库。html - 在表单提交后重定向到新的网址(django网站)

<form method='POST' action='' class="col-md-6 col-md-offset-7" style="background-color: lightgreen; border-radius: 10px"> 

然而,当我改变行动 action="{% url 'ridesharing:request-success' %}", 重定向的工作原理,但数据不会去我的Django的数据库。

这是怎么回事?

+2

我想你需要发布一些相关的视图函数来帮助你... – Shadow

+0

你必须把存储在数据库中的数据的脚本放在新的url – Taki

+0

的帖子相关的视图函数中,会有助于回答题。 –

回答

0

您似乎在这里有一些困惑。表单的动作是浏览器发送数据的地方。很明显,如果你没有在实际处理数据的视图上指出它,那么它将不会被保存。

要在发布后重定向,您的视图应返回重定向。

0

当你声明一个空的action属性的一种形式:

<form method='POST' action=''> 

POST数据将被发送到相同的URL。这很有用,因为如果表单中存在一些错误,则可以很容易地重新显示它,并填写用户输入的值。然后,当表单变得有效时,重定向到确认页面。

当你声明的形式方式:

<form method='POST' action='{% url 'ridesharing:request-success' %}'> 

由形式向用户输入的数据将被发送到视图request-success。但是这个视图可能只会呈现确认页面的模板。如果要正确处理表单中的数据,则必须将<form>action属性设置为相同视图,或者更简单地将其保留为空。

相关问题