【发布时间】:2014-12-07 23:11:32
【问题描述】:
您好,我制作了一些 ModelForm。现在当我进入时,我得到了这个错误。
RuntimeError
Exception Value:
You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/comp/new/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings.
这是什么原因造成的?可能表单操作与表单 URL comp/new 完全匹配,这与我的视图匹配以呈现和处理数据。但是出了点问题……
我的网址
url(r'^comp/new/$', 'company.views.add_company', name='add_company'),
我的表单操作
<form id="category_form" method="post" action="/comp/new/">
【问题讨论】:
-
最后需要一个 /。您的表单操作显然没有,就像您在帖子中所说的那样。 /comp/new/ - 错误信息会告诉你究竟出了什么问题。
-
我试图在上面加上 /comp/new/ 这样的斜线,但没有用。请求网址:127.0.0.1:8000/comp/new 不变。
-
向我们展示您的表单代码 - 它的 HTML。
-
您也可以发表您的观点吗?并将您的表单模板更改为:
<form id="category_form" method="post" action="{% url 'add_company' %}"> -
它现在可以工作了。这是动作的反斜杠。浏览器不会重新加载新的 html。谢谢