在 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'),
...
怎么了?
在 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'),
...
怎么了?
您的 URL 在使用斜杠时不一致。
浏览器将 URL 视为目录结构。.
表示当前“目录”的根。如果您在/sites/1
,则“当前目录”为/sites/
。如果您在/sites/1/
- 即按照 Django 文档中的建议使用斜杠 - 那么当前目录仍然是/sites/1/
.
确保所有 URL 都以斜杠结尾,并使用默认的附加斜杠功能重定向到任何 URL 的斜杠附加版本。
动作应该有 {% 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"),