该应用正在加载" links_submit.html"它有一个可以编写链接的字段,例如(www.google.com)并提交它,然后该应用程序将此URL作为HTTP Post接收并重定向到另一个页面" post_response.html&#34 ;其中包含一个简单的html,用于反馈单词" Ok"。然后我想用这个链接进行一个过程(抓取谷歌并搜索特定的东西),完成这个过程后,自动重定向" post_reponse.html"到另一页显示我从谷歌提取的结果。现在我不确定如何对我在烧瓶上的应用说:"好吧现在让我们使用正常的功能(不是路由),例如:
def loadpage(link_sent_by_the_http post):
res = requests.get('www.google.com')
想象一下,在加载页面后,我还在谷歌上提取了一些html标签,在完成此过程后,我想重定向页面" post_respose.html"用" ok"到一个新的HTML页面,其中包含从谷歌提取的html标签。 请注意我知道如何加载页面谷歌和提取我想要的,但我不知道如何在Flask中间插入此功能/过程,然后从正常的HTML重定向"确定&# 34;对于我已经提取的结果的新路线。
import requests
from flask import Flask, render_template, request, url_for
app = Flask(__name__)
@app.route('/test')
def form():
return render_template('links_submit.html')
@app.route('/links/', methods=['POST'])
def links():
links=request.form['links']
return render_template('post_response.html')
Intern Process (Load the received link > Extract what I want)
and then redirect the "post_response.html" to another "html" which will
contain the results that I have extracted)
if __name__ == '__main__':
app.run(debug=True)
答案 0 :(得分:1)
两种方法 -
创建一个python
文件说webfunctions.py
并将您的函数放入此文件中。
例如 -
def inc(x):
return int(x) + 1
现在,在您的flask
应用文件中,您可以导入整个文件或仅导入函数 -
from webfunctions import inc
@app.route('/whatsnext/', methods=['POST'])
def waiting():
curVal=request.form['x']
nextVal = inc(curVal)
return render_template('post_response.html', nextVal=nextVal)
或者,您可以在烧瓶应用文件的顶部声明您的定义。如下 -
import requests
from flask import Flask, render_template, request, url_for
def inc(x):
return int(x) + 1
@app.route('/whatsnext/', methods=['POST'])
def waiting():
curVal=request.form['x']
nextVal = inc(curVal)
return render_template('post_response.html', nextVal=nextVal)