前提・実現したいこと
Djangoを利用して、webのhtml画面上で入力した文字をWordcloudというライブラリを利用して画像化し、表示するアプリを作っています。
入力した文字列を、アプリ上のviews.py中の関数で処理し、Wordcloudで画像を生成することまではできました。それをhtml上で表示させることができません。
(画像をImage.open()でPC上のビューワーで開くことはできました。htmlに画像ファイルを引き渡すことができていないと考えています)
生成した画像を、データベース等に保存せず、htmlにそのまま受け渡し表示することは可能でしょうか。
生成した画像は保存する必要性がないので、なるべく簡易に表示をさせられたらと考えています。
よろしくお願いします。
#####希望する流れ
enter.html : テキストボックスに文字列を入れる
↓
アプリ上のviews.py : enter.htmlに入力された文字列を関数で処理し、word
cloudで画像ファイルを生成
(ここまではできました)。
↓
answer.html : views.pyで生成された画像ファイルを表示
該当のソースコード
views.py(該当部分)
'a'には画像化したい文字列が格納されています
python
1wc = WordCloud(background_color="white",width = 900,height=900) 2wc.generate(a) 3IF = wc.to_file('wc.png') 4pic_show = Image.open('wc.png','r') 5#これは、画像がビューワーで開いてしまう 6picture = 'wc.png' 7 8return render(request, 'answer.html', { 9 'IF' = IF, 10 'pic_show':pic_show, 11 'picture':picture, 12 }) 13
answer.html
html
1<!DOCTYPE html> 2<html> 3<body> 4 {{ IF }} 5 <img src='{{ IF }}'> 6 <img src = '{{ picture }}'> 7 {% load static %} 8 <img src='{% static 'picture' %}'> 9#どれもうまくいかず、あれこれ書いています 10</body> 11</html>
あなたの回答
tips
プレビュー