django模板中的form的action设置的url,表单数据提交不到这个url
模板如下,其中使用了semanticui.
<form class="ui form" action="/search/" method="get">
<div class="ui input">
<input type="text" placeholder="请输入。。。">
</div>
<button class="ui button" type="submit">搜索</button>
</form>
urls如下
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^welcome/$',views.host_url),
url(r'^search-form/$',views.search_form),
url(r'^search/$',views.search),
]
目录结构是正常的django结构
想请教一下大神,这是什么问题?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也是遇到了类似问题,
现象:form表单发起post请求,form的action的url就会被自动添加前缀,访问不到接口,直接斜杆就啥都不不变,也不知道什么问题,网上也找不到答案。(因为问题太简单了)
解决:后来思考了django的URL习惯,一般都会为资源路径添加/,这才是一个完整的资源路径。它认为这下面是个目录,而不是一个文件。我突然搞明白了。因为我的action的url前面没有添加/(django不会为域名添加/),django就会自动分开,自动添加前缀(具体操作不知道),导致访问不到接口。所以正确的做法是添加action的URL的时候,前面要加斜杆。django即不会修改这个url。