django模板中的form的action设置的url,表单数据提交不到这个url

发布于 2022-09-05 14:47:02 字数 690 浏览 15 评论 0

模板如下,其中使用了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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

掌心的温暖 2022-09-12 14:47:02

我也是遇到了类似问题,
现象:form表单发起post请求,form的action的url就会被自动添加前缀,访问不到接口,直接斜杆就啥都不不变,也不知道什么问题,网上也找不到答案。(因为问题太简单了)
解决:后来思考了django的URL习惯,一般都会为资源路径添加/,这才是一个完整的资源路径。它认为这下面是个目录,而不是一个文件。我突然搞明白了。因为我的action的url前面没有添加/(django不会为域名添加/),django就会自动分开,自动添加前缀(具体操作不知道),导致访问不到接口。所以正确的做法是添加action的URL的时候,前面要加斜杆。django即不会修改这个url。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文