获取用户输入然后在函数内实现它

时间:2015-07-31 00:12:05

标签: python flask jinja2

所以我在这里做的是尝试让用户键入一个关键字,然后使用该输入来自定义某个搜索查询,然后显示结果。

我想附加该输入并使其在函数内可读,我已尝试制作第二个函数来获取输入然后在其他函数内调用它,但这似乎不起作用。

这是我的烧瓶代码

@app.route('/')
def hello_world():
  keyword = 'KEYWORD'  **I need to make this an input by the user**
  url = ('https://ajax.googleapis.com/ajax/services/search/news?v=1.0&q='+ keyword + '&rsz=8')
  response = requests.get(url)
  articles = response.json()
  return render_template('index.html', articles = articles, enumerate=enumerate)


@app.route('/', methods = ['POST'])
def form():
    get_keyword = request.form['keyword']
    return get_keyword

if __name__ == '__main__':
    app.run(debug=True)

这是我的index.html

<form method="post" action="/">
<input type="text" name="keyword">
</form>

1 个答案:

答案 0 :(得分:0)

@app.route('/', methods = ['POST'])
def hello_world():
  keyword = request.form['keyword']
  url = ('https://ajax.googleapis.com/ajax/services/search/news?v=1.0&q='+ keyword + '&rsz=8')
  response = requests.get(url)
  articles = response.json()
  return render_template('index.html', articles = articles, enumerate=enumerate)

这应该可以解决您的问题。你需要制作你的第一个app.route一个帖子请求,这个请求的内部只需要从这里请求。不需要额外的帖子功能。

这是来自flask文档的一个例子。它是不同的,但使用完全相同的逻辑,将帮助您了解您做错了什么。 http://flask.pocoo.org/docs/0.10/tutorial/views/#tutorial-views