在网址/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'),
...
出了什么问题?
答案 0 :(得分:2)
您的网址在使用尾部斜杠时不一致。
浏览器将URL视为目录结构。 .
表示当前“目录”的根目录。如果您在/sites/1
,则“当前目录”为/sites/
。如果您在/sites/1/
- 即使用Django文档中的建议使用尾部斜杠 - 则当前目录仍为/sites/1/
。
确保所有网址都以斜杠结尾,并使用默认的附加斜杠功能重定向到任何网址的斜杠附加版本。
答案 1 :(得分:0)
操作应具有{%url current_view_name%}值
e.g。
url(r'^sites/$', 'app.views.sites_view'),
url(r'^sites/(?P<site_id>\d+)$', 'app.views.site_view', name="sites_view"),