@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 16:13:50 浏览: 199
这是一个使用 Flask 框架搭建的 web 应用程序。当用户访问网站首页时,会显示一个表单,用户可以在表单中输入职位名称,并选择生成词云图、薪资饼图或地理位置图中的任意一种。当用户提交表单后,程序会根据用户选择的图表类型,从数据库中查询相应的数据,然后生成对应的图表并显示给用户。其中,词云图是根据职位标签生成的,薪资饼图是根据职位薪资范围生成的,地理位置图是根据职位所在城市生成的。如果用户没有选择任何图表类型,则程序会显示网站首页。当程序运行时,会启动一个本地服务器,用户可以通过浏览器访问该服务器来使用该应用程序。
阅读全文