gpt4 book ai didi

python - 如何编码匹配 '/search?query=a'

转载 作者:行者123 更新时间:2023-11-30 23:34:05 26 4
gpt4 key购买 nike

我想通过查询进行搜索,如下所示。

http://localhost:8080/search?query=a

html

...
<form class="navbar-form navbar-right" name="searchform" action="/search" method="post">
<div class="form-group">
<input class="form-control" placeholder="Any keyword" type="text" name="query" />
</div>
<button class="btn btn-success" type="submit">Search</button>
</form>
...

路线.py

...
import handlers

_routes = [
RedirectRoute('/search?query=<.*>', handlers.SearchHandler, name='search', handler_method='post')
]
...

处理程序.py

...
class SearchHandler(BaseHandler):
def get(self):
params = {
'query': '',
'offset': '0'
}
self.doSearch(params)

def doSearch(self, params):
docs = search.Index(name='indexed_doc')
query = params.get('query', '')
try:
offset_value = int(params.get('offset' or 0))
except ValueError:
offset_value = 0
try:
search_query = search.Query(...

结果:'/search?query=<.*>' 在routes.py
error_handler.py:71] 错误 403:对此资源的访问被拒绝。
module.py:593] 默认值:“POST/search HTTP/1.1” 403 2555

结果:“/search(.*)”在routes.py
error_handler.py:71] 错误 404:找不到资源。
module.py:593] 默认值:“POST/search HTTP/1.1” 404 2543

如何为其编写正则表达式?或者出了什么问题?
提前致谢。

最佳答案

我认为存在几个问题:

  1. 你真的想要 RedirectRoute ?是否有必要对post请求进行重定向?
  2. 当您发布数据时,数据 ( query ) 应存储在请求正文中,而不是存储在 URL 中,例如 /search?query=a+query
  3. 在我见过的许多项目中,urls 正则表达式不包含 GET 参数,通常由处理程序来强制执行某些获取参数,我不知道如果有多个参数,是否可以确保 GET 参数顺序...
<小时/>

您可以更改为获取请求:

     <form class="navbar-form navbar-right" name="searchform" action="/search" method="get">

<div class="form-group">
<input class="form-control" placeholder="Any keyword" type="text" name="query" />
</div>
<button class="btn btn-success" type="submit">Search</button>
</form>
<小时/>
import handlers

_routes = [
('/search', handlers.SearchHandler, name='search')
]
<小时/>

关于python - 如何编码匹配 '/search?query=a',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com