我有一个每5分钟更新一次的XML文件(data.XML)。我还有一个Flask Web服务器(app.py)在同一平台上运行。此Web服务器承载一个HTML5页面(index.html)。在HTML(index.HTML)页面上的设置位置显示XML页面中的信息并每5分钟更新一次以及刷新页面时,最有效的方法是什么?有人建议我研究AJAX和jQuery,但由于我没有这方面的经验,它们似乎有点令人困惑。我需要一些帮助来找到最有效的解决办法。对编程来说相当陌生。先谢谢你
Data.xml:
<?xml version='1.0' encoding='utf-8'?>
<root>
<coin>
<trader variable="GLDAG_MAPLE">Gold.co.uk</trader>
<metal>Silver</metal>
<type>Maple</type>
<price>£31.2</price>
</coin>
</root>
Data2.xml:data.xml转换为字典
<root><coin><trader variable="GLDAG_MAPLE">Gold.co.uk</trader><metal>Silver</metal><type>Maple</type><price>£31.56</price></coin><coin><trader variable="GLDAG_BRITANNIA">Gold.co.uk</trader><metal>Silver</metal><type>Britannia</type><price>£32.4</price></coin><coin><trader variable="GLDAG_PHILHARMONIC">Gold.co.uk</trader><metal>Silver</metal><type>Philharmonic</type><price>£32.76</price></coin><coin><trader variable="BBPAG_MAPLE">Bullion By Post</trader><metal>Silver</metal><type>Maple</type><price>£27.12</price></coin><coin><trader variable="BBPAG_BRITANNIA">Bullion By Post</trader><metal>Silver</metal><type>Britannia</type><price>£23.88</price></coin><coin><trader variable="BBPAG_PHILHARMONIC">Bullion By Post</trader><metal>Silver</metal><type>Philharmonic</type><price>£26.88</price></coin></root>
App.py:
from flask import Flask, flash, redirect, render_template, request, session, abort, url_for
app = Flask(__name__)
# ./Home Script + Portfolio Page:
@app.route("/")
@app.route("/index")
def index():
return render_template('index.html')
Index.html:
<td> Price from XML file needs to be presented here! </td>
对于定期更新的情况,最好使用类似
jQuery
和Ajax
的方法。以下是我解决您问题的过程将xml文件转换为dict,以便在模板中轻松访问。见convert-an-xml-string-to-a-dictionar
使用Ajax和Js(如果愿意,可以使用jQuery)在给定的时间间隔请求更新。请参见以下示例update-and-render-a-value-from-flask-periodically和dynamically-update-html
然后,只需以标准方式呈现模板中的值
这样,当您的文件每5分钟更新一次时,它就可以动态地更新到模板中
如果你有任何问题,一定要告诉我
相关问题 更多 >
编程相关推荐