【发布时间】:2019-08-21 18:20:31
【问题描述】:
我正在制作一个仪表板来显示不同月份的不同统计数据。我需要从下拉列表中选择一个月,因此与该月相关的文件将在我的 home.html 页面上显示其图表。
但是我的下拉菜单无法读取月份,我可以知道我做错了什么吗?
这是我的app.py 代码:
from flask import Flask, render_template, url_for, request, redirect
from graph_itunes import graphing
import matplotlib
application = Flask(__name__)
def get_itune_installs(ios_path):
with open (ios_path, 'r') as f:
install_itunes = json.load(f)
results = install_itunes['results'][0]['data']
df_itunes = pd.DataFrame.from_dict(results,orient = 'columns')
return df_itunes
@application.route('/', methods=['GET', 'POST'])
def home():
current_userinput = request.form.get('userinput')
path_ios = 'iTunesConnect/Installs/'
ios_path = os.path.join(path_ios, current_userinput)
itunes_installs = get_itune_installs(ios_path)
graph_itunes_installs = graphing(itunes_installs)
return render_template('home.html',
graph1 = graph_itunes_installs,
userinput = current_userinput)
if __name__ == '__main__':
application.run(debug = True)
这是我的home.html:
<form name = 'userinput' action="/" method = 'post'>
<select name = "userinput" id = 'userinput'>
<option value="January">January</option>
<option value="February">February</option>
<option value="March" selected >March</option>
<option value="April">April</option>
<option value="May">May</option>
{% for input in userinput %}
<option selected value= "{{input}}">{{input}}</option>
{% endfor %}
</select>
<p><a class ="btn btn-default" type = "submit" value = "Select" >Submit</a></p>
</form>
有人可以帮助我并提出一些建议吗?
【问题讨论】:
-
你能发布一个完整的例子吗?您的 home.html 中的
userinput是什么?你如何渲染这个模板? -
return render_template('home.html', userinput = current_userinput )
-
@AndreySemakin 你有什么解决办法吗?
-
请添加
app.py的完整代码。否则很难发现问题。 -
@arsho 下面是 app.py 代码
标签: python flask dynamic graph dashboard