Отображение данных из mongodb на html-странице в реальном времени
Я работаю над проектом на python, и хочу получать и отображать данные из mongodb в реальном времени, например, отображать новые данные на странице html-таблицы, как только они попадают в БД, а другие данные будут отображаться при обновлении страницы. Любая помощь будет высоко оценена.
вот мой view.py :
def datatable_view(request):
if request.method =='POST':
form = Scraping(request.POST)
if form.is_valid():
subject=form.cleaned_data['subject']
#run python code of scraping
scrap(subject)
#add the products scraped to the database
client = pymongo.MongoClient("mongodb://localhost:27017/")
# use variable names for db and collection reference
db= client["db2"]
col = db[subject]
products = col.find()
context = {'products' : products}
#open datatable html and display all the data from database
return render(request,'datatable.html', context)
return
вот моя страница html таблицы datatable.html :
<table id="scrap" class="table table-striped table-bordered" style="width:100%">
<tbody>
{% for product in products %}
<tr>
<td> {{ product.Title }} </td>
<td> {{ product.Price }} </td>
<td> {{ product.Currency }} </td>
<td> {{ product.Stars }} </td>
<td> {{ product.Orders}} </td>
<td> {{ product.Shipcost }} </td>
<td> {{ product.Supplier }} </td>
<td><a href="{{product.Productlinks }}"> Click here</a></td>
</tr>
{% endfor %}
</tbody>
</table>
col.find()
возвращает объект pymongo.cursor.Cursor.
Чтобы устранить проблему, нужно перебросить курсор в список: list(products)
.
И вернуть список dict.