我正在使用flask来显示基于系统中静态文件的wordcloud。页面加载后,我希望用户能够输入停用词,以便能够在提交时更新文字云。使用当前代码,当用户提交新的停用词时,stop_words列表会更新,但是当模板再次呈现时,它不会更新词云。 get_nmf_topics(model,20)使用主题生成器(nmf)创建单词和权重列表,还处理该函数中的stop_words。
@app.route('/')
def home_page():
return render_template('index.html')
@app.route('/word_cloud', methods=['GET'])
def word_cloud():
try:
words=get_nmf_topics(model, 20)
# JQCloud requires words in format {'text': 'sample',
'weight':'100'}
# so, lets convert out word_freq in the respective format
words_json = [{'text': word, 'weight': weight} for word, weight in
words]
# now convert it into a string format and return it
#return json.dumps(words_json)
return json.dumps(words_json)
except Exception as e:
return '[]'
@app.route('/', methods=['POST'])
def parse_data():
text = request.form['text']
stop_words.append(text)
print(stop_words)
return redirect(url_for('parse_data'))
答案 0 :(得分:0)
您没有使用stop_words添加到wordcloud,因此当您调用get方法时,单词cloud将保持不变。