У меня есть приложение, где пользователи могут вводить новости, которые они слышали. Введенные «заголовок новости», «новости» и «время» хранятся в базе данных «sesesearch No SQL ». Введенные новости сначала анализируются с помощью методов НЛП для обнаружения и удаления неэтичных слов и снова сохраняются в базе данных эластичного поиска. После этого я хочу показать их на веб-странице по порядку. Я выполнил задачу обработки NLP, но все же не могу отобразить все новости на веб-странице. для этого я использую фреймворк Django.
, что я пытался сделать, это извлечь новости из эластичного поиска, используя для l oop и сохранить каждый новостной элемент = [news headline, news, time]
как коллекция списков внутри списка [[],[],[]]
и передача их в шаблон HTML.
python код:
def news_items(request):
newsData = []
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
for x in range(1, 101):
results = es.get(index='reporter', doc_type='news', id=x)
pyData1 = json.dumps(results)
pyData2 = json.loads(pyData1)
newsData = pyData2['_source']
pyNewsData1 = json.dumps(newsData)
pyNewsData2 = json.loads(pyNewsData1)
id = pyData2['_id']
headline = pyNewsData2['newsHeadline']
newsText = pyNewsData2['newsText']
date = pyNewsData2['date']
list = [id, headline, newsText, date]
newsData.append(list)
template = 'AppOne/news.html'
return render(request, template, {'nd': newsData})
код шаблона для доступа к этим данным
<ul>
{% for a,b,c,d in nd %}
<li>{{a}}</li>
<li>{{b}}</li>
<li>{{a}}</li>
<li>{{b}}</li>
{% endfor %}
но выдает ошибку:
AttributeError: у объекта 'dict' нет атрибута 'append'
Я пробовал много способов и каждый раз это было безуспешно. Я новичок в Django Framework. Кто-нибудь, пожалуйста, предложите способ их отображения на веб-странице шаблона.