0

在 url/sites/1我有一个表格:

<form action="." method="post">
...

但是,当我提交它时,它/sites/由不同的视图处理,导致错误。

这是我的urls.py

url(r'^sites/$', 'app.views.sites_view'),
url(r'^sites/(?P<site_id>\d+)$', 'app.views.site_view'),
...

怎么了?

4

2 回答 2

2

您的 URL 在使用斜杠时不一致。

浏览器将 URL 视为目录结构。.表示当前“目录”的根。如果您在/sites/1,则“当前目录”为/sites/。如果您在/sites/1/- 即按照 Django 文档中的建议使用斜杠 - 那么当前目录仍然是/sites/1/.

确保所有 URL 都以斜杠结尾,并使用默认的附加斜杠功能重定向到任何 URL 的斜杠附加版本。

于 2012-08-08T09:53:09.747 回答
0

动作应该有 {% url current_view_name %} 值

例如

url(r'^sites/$', 'app.views.sites_view'),
url(r'^sites/(?P<site_id>\d+)$', 'app.views.site_view', name="sites_view"),
于 2012-08-08T09:50:15.723 回答