我有一个小脚本,它是图像抓取器。本质上,您为脚本提供了一个链接,它将网页上的所有图像下载到桌面上的文件夹中。我想要相同的功能,但在浏览器上。让用户输入链接,脚本开始将图像从链接下载到他们的计算机。我的代码如下:
@app.route('/')
def main():
return render_template('index.html')
@app.route('/Downlading', methods=['POST'])
def Downlading():
url= request.form['url']
start = request.form['start']
end = request.form['end']
dphy = image_downloader(url) #this is the script that saves the images
return str(dphy)
我能够获取用户网址并将其传递给image_downloader,后者会下载图片。问题是从命令提示符下下载了图像。我希望脚本在浏览器中运行,就像在IDE中运行一样。抱歉,这令人困惑。
我的HTML代码:
<form action="/Downlading" method="POST" >
URL: <input type="text" name="url"><br/>
Start: <input type="text" name="start"><br/>
End: <input type="text" name="end"><br/>
<input type="submit" name="form" value="Submit" />
</form>
答案 0 :(得分:1)
您需要创建一个HTML模板,以使变量得以体现。例如:
HTML-upload.html:
<html>
<title>Example on StackOverflow</title>
<p> The str representation of the variable dphy is {{ dphy }} </p>
</html>
Python(将其添加到现有的flask脚本中):
@app.route('/Downlading', methods=['POST'])
def Downlading():
url= request.form['url']
start = request.form['start']
end = request.form['end']
dphy = image_downloader(url) #this is the script that saves the images
return render_template('upload.html', dphy=str(dphy))
这应该可以,但是我现在无法测试,因此我并不乐观。这是通过Flask传递变量的基本思想-创建一个使用该变量的模板,然后在渲染创建的模板时显式传递它。