我希望在每次更改数据库时更新表,而不刷新。另外,我希望在更新发生时保留搜索中的查询参数
到目前为止,我所做的是使用hx-get从另一个模板和视图中检索我的表,以获得更新后的表。
但是,当数据库发生更改时,我不知道从哪里开始触发更新
Views.py
def display_view(request):
myFilter = ParticipantFilter(request.GET, queryset=Participant.objects.all())
table = ParticipantTable(myFilter.qs)
table.paginate(page=request.GET.get("page", 1), per_page=10)
return render(request, 'display.html', {'table': table,'myFilter': myFilter})
def data_only_view(request):
myFilter = ParticipantFilter(request.GET, queryset=Participant.objects.all())
table = ParticipantTable(myFilter.qs)
table.paginate(page=request.GET.get("page", 1), per_page=10)
return render(request, 'updatedDisplay.html', {'table': table})
display.html
{% extends "base.html" %}
{% block content %}
<form method="get">
{{ myFilter.form }}
<button type="submit">Search</button>
</form>
<div id="table-results" hx-get="/updatedDisplay" hx-include = "[name='first_name']">
{% load render_table from django_tables2 %}
<table class="table">
{% render_table table %}
</table>
{% endblock %}
</div>
updateDisplay.html
{% load render_table from django_tables2 %}
<table class="table">
{% render_table table %}
</table>
1条答案
按热度按时间vq8itlhq1#
如果没有django通道,你只能使用缓冲池。我看到你使用hx-include来输入名字'first_name',我相信你可以包含完整的表单。另外,你可以指向你的表单来发出htmx请求,而不是重载页面:
这样你的表将每5秒更新一次。