Я сделал функцию Wordcloud в view.py. Там нет ошибки, но она не отображается в html.
Я использую {{wordcloud}} для отображения в шаблоне.
<div style="margin-bottom:20px;"> {{ wordcloud }} </div>
<span id="clipboard-movie"></span><br />
from django.shortcuts import render
from django.http import HttpResponse
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from .models import ArticleData, Category, Keyword
import requests
from urllib.parse import urlparse
from newspaper import Article# Newspaper
import matplotlib.pyplot as plt
import numpy as np
from PIL import Image
from wordcloud import STOPWORDS
def word_cloud(text):
whale_mask = np.array(Image.open("PK_t.png"))
stopwords ={'은','입니다'}
plt.figure(figsize = (20,5))
#plt.imshow(whale_mask , cmap = plt.cm.gray , interpolation = 'bilinear')
font_path = 'C:/Users/Jeong Suji/NanumBarunGothic.ttf'
wc = WordCloud(font_path=font_path,background_color = 'white', max_words=2000, mask = whale_mask,
stopwords = stopwords)
wc= wc.generate(text)
plt.figure(figsize= (10,5))
plt.imshow(wc,interpolation= 'bilinear')
plt.axis("off")
image=plt.show()
return image
def cloud_gen(request):
text = ''
for i in ArticleData.objects.all():
if __name__ == '__main__':
text += i.text
wordcloud = word_cloud(text)
return render(request, 'articles/index.html', {'wordcloud':wordcloud})
...
ошибки нет, но wordcloud не отображается в html.