Bottle:运行python脚本生成图像并将该图像加载到网页

时间:2015-05-17 14:50:00

标签: python bottle

我有python脚本从数据库中删除文本并创建一个文字云。我想创建一个运行python脚本的基于瓶子的网页,然后显示脚本生成的文字云。

到目前为止,我有一个python script.py:

from bottle import *

@route('/static/<filepath:path>')
def server_static(filepath):
return static_file(filepath,root='C:\wordcloud')

@route('/')
def main():
    picture_name = 'wordcloud.png'
    return template('template.tpl', picture=picture_name)

run(host='localhost',port=8080,debug=True)

和模板文件template.tpl:

...
<body>
<div class = "container">

%import script
<img src="/static/{{picture}}">

</div>
</body>
...

当我第一次进入localhost:8080时,我能够生成单词云。然而,在我第一次刷新页面后,网页只会加载“旧”字云(它显示单词云,但使用旧图像)。此外,我确信有一些更好,更方便的方法来做这一切。有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

这种情况发生的原因是Web浏览器会根据URI来缓存图像等内容。通常的解决方法是向URI添加无意义的参数,如<img src="/static/{{picture}}?v={{version}}">中所示。在这种情况下,您可以使用int(time.time())作为{{version}}

另一种解决方案是使用类似内联SVG的方式来放置&#34;图像&#34;就在HTML中。