2013-12-23 42 views
0

我正在尝试将Mongodb文本搜索与Python应用程序集成。为此,我按照以下方式编写了代码,但是我没有得到结果,也没有发现任何错误。控件不在搜索函数内部,任何人都可以帮助我吗? 谢谢你在进阶如何将mongodb文本搜索与python应用程序集成?

from flask import Flask 
from flask import request 
app = Flask(__name__) 
import pymongo as pym 
c = pym.Connection() 
db = c['DbName'] 
#for searching 

@app.route('/search') 
def search(): 
    print "prashant" 
    query = request.form['15310773'] 
    text_results = db.command('text','collection_name',search=query,limit=100) 
    doc_matches = (res['obj'] for res in text_results['results']) 
    return render_template('search.html','results=results') 

if __name__ == "__search__": 
    app.run() 

回答

0

如果你正在寻找创建结果的对象列表中您的模板进行迭代,你需要改变你的列表中理解到使用方括号,而不是括号:

doc_matches = [res['obj'] for res in text_results['results']] 

接下来,不应引用render_template的第二个参数。尝试将其更改为

return render_template('search.html', results=results) 

并查看是否有帮助。

+0

是的非常感谢iandouglas,我做了你所告诉的变化,但它仍然无法正常工作。当我运行程序时,我得到以下内容,*运行在http://127.0.0.1:5000/上,当我在浏览器中粘贴这个URL时,我得到了404错误,因为“在服务器上找不到请求的URL。请手动输入网址,请检查拼写并重试。“ – user3128542

+0

http://127.0.0.1:5000/search?你目前没有一个url路径来处理'/'这是有道理的,只是http://127.0.0.1:5000/给你一个404。 – iandouglas

相关问题