@app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': job = request.form.get('job') results = Job.query.filter(Job.job_name.ilike(f'%{job}%')).all() if 'word_cloud' in request.form: job_tags = [tag.strip() for result in results for tag in result.job_tags.split(',')] generate_word_cloud(job_tags) return render_template('word_cloud_chart.html') elif 'salary_pie' in request.form: salary_data = {} for result in results: salary = result.salary if salary in salary_data: salary_data[salary] += 1 else: salary_data[salary] = 1 generate_salary_pie(salary_data) return render_template('salary_pie_chart.html') elif 'geo_chart' in request.form: generate_geo_chart(results) return render_template('geo_chart.html') return render_template('index.html') if __name__ == '__main__': app.run(debug=True)
时间: 2023-07-15 13:13:46 浏览: 154
这段代码是一个 Flask 应用程序,用于展示职位相关的数据可视化图表。当用户在网页上输入职位名称并提交时,会查询数据库中匹配的职位数据,并根据用户选择的不同图表类型生成相应的图表,包括词云图、饼图和地理图。当用户点击相应的按钮时,会调用生成相应图表的函数,并渲染对应的 HTML 模板文件。如果用户只是访问首页,会渲染默认的 index.html 模板文件。如果将该文件作为 Flask 应用程序的入口文件并运行,将启动一个本地服务器,用于提供网页服务。
阅读全文