gpt4 book ai didi

python - 涉及 ?q= 搜索查询的 URL 的 Django 正则表达式模式不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 03:32:42 25 4
gpt4 key购买 nike

我有一个用作搜索工具的 Django 应用程序。我面临的问题是我无法通过 urls.py 获得搜索结果页面。

views.py

def search(request):
new_results = []
error = True
if "q" in request.GET:
query = request.GET["q"].strip()
results = graph_search.main(query)
for result in results:
result[3] = result[3].decode('unicode_escape').encode('ascii', 'ignore')
new_results.append(result)
new_results = list(reversed(sorted(new_results, key=itemgetter(4))))
return render(request, 'search.html',
{'results': new_results, 'query': query})
return render(request, 'search.html', {'error': error})

urls.py

呈现 index.html - 工作正常
url(r'^$', 'searchengine.views.index', name='home'),

呈现 search.html - 工作正常
url(r'^search', 'searchengine.views.search', name='search'),

呈现搜索结果 - 不起作用,而是呈现索引页

url(r'^/?q=<query>$', 'searchengine.views.search', name='search'),

谁能帮我找到正确的正则表达式模式,我需要在 Django 中使用它来呈现像 http://foo.com/?q=emily 这样的 url。

search.html 中呈现搜索结果的一段代码

<p>You searched for: <strong>{{ query }}</strong></p>

{% if results %}
<div class="container">
<div class="row">
<div class="timeline-centered">
{% for result in results %}
<article class="timeline-entry">
<div class="timeline-entry-inner">
<div class="timeline-icon bg-info">
<i class="entypo-feather"></i>
</div>
<div class="timeline-label">
<strong>Statement: </strong>{{ result.3 }}<br>
<strong>Doc: </strong>{{ result.0 }} <br>
<strong>Context: </strong>{{ result.1 }} <br>
<strong>Related: </strong>{{ result.2 }} <br>
<strong>Confidence: </strong>{{ result.4}} &#37 <br>
</div>
</div>
</article>
{% endfor %}
</div>
</div>
</div>

{% else %}
<p>No results matched your search criteria.</p>

我唯一能让它工作的方法就是改变

url(r'^$', 'searchengine.views.index', name='home')

url(r'^$', 'searchengine.views.search', name='search')

但这会使着陆页呈现搜索页而不是主页,这是错误的。

最佳答案

Django 不捕获 URL 模式中的查询字符串。将其关闭并通过 View 中的 request.GET['q'] 访问它。

关于python - 涉及 ?q= 搜索查询的 URL 的 Django 正则表达式模式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30430014/

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