Django表单:混合请求提交(get和post)

Django表单:混合请求提交(get和post),django,forms,url,request,Django,Forms,Url,Request,由于seo相关的原因,在我的项目中,我必须在url中捕获某些搜索参数,以获得“美丽的url”内容 高级搜索由7个参数组成,其中3个与位置相关,是我们的搜索引擎优化顾问感兴趣的参数 所以,现在我有点困惑。我已经有一段时间没有专业地使用django了,但从来没有遇到过这样的问题。基本上,最终的url结构必须如下所示: /Italy/Lombardy/Milan/?price=100&miles=10&last_posted=2 我的url.py是 '/(?P<country&

由于seo相关的原因,在我的项目中,我必须在url中捕获某些搜索参数,以获得“美丽的url”内容

高级搜索由7个参数组成,其中3个与位置相关,是我们的搜索引擎优化顾问感兴趣的参数

所以,现在我有点困惑。我已经有一段时间没有专业地使用django了,但从来没有遇到过这样的问题。基本上,最终的url结构必须如下所示:

/Italy/Lombardy/Milan/?price=100&miles=10&last_posted=2
我的url.py是

'/(?P<country>\w+)/(?P<zone>\w+)/(?P<city>\w+)/$', SearchView.as_view()
“/(?P\w+)/(?P\w+)/(?P\w+)/$”,SearchView.as_view()

现在,我不确定的是,我应该如何在form方法中指定我的请求,以便能够使用那个精确的url模式?邮寄还是索取?当用户键入时,如何动态地组合“action”属性的url?这是正确的解决方案吗?我真的很困惑,任何帮助都将不胜感激!谢谢

您必须使用脚本更改表单的操作字段,是的。并将方法设置为GET,并在表单中仅包含查询字符串中出现的字段。

是的,我的表单将名称作为查询字符串参数。只是我从来没有用这个url结构获取参数(/param1/param2/?param3等等)。为了尊重我们特定的url结构(这是非常严格的),我应该(只是一个想法)将form action属性修改为一个可接受的url,因此我需要在用户完成formI时修改该参数,我现在就理解问题了。一个问题:为了让这些漂亮的URL被网络爬虫抓取,它们必须从某个地方链接到。否则,网络爬虫怎么知道他们需要索引意大利/伦巴第/米兰,而不是任何其他国家/地区/城市组合?你的搜索引擎优化专家对此怎么说?事实上,这已经解决了。请关注主要问题,即:如何设置搜索表单,使其具有混合的POST/GET请求以获取该url?