在Django中使用jQuery刷新for循环中的内容,可以通过以下步骤实现:
{% for item in items %}
<div id="item_{{ item.id }}">{{ item.name }}</div>
{% endfor %}
<script src="https://cdn.jsdelivr.net/npm/jquery"></script>
<script>
$(document).ready(function() {
setInterval(function() {
$.ajax({
url: '/refresh_items/', // 刷新数据的后端接口URL
type: 'GET',
success: function(data) {
// 根据返回的数据更新对应的内容
$.each(data, function(index, item) {
$('#item_' + item.id).text(item.name);
});
}
});
}, 5000); // 每隔5秒刷新一次
});
</script>
from django.http import JsonResponse
def refresh_items(request):
# 获取需要刷新的数据
items = Item.objects.all()
# 构造需要返回的数据
data = []
for item in items:
data.append({
'id': item.id,
'name': item.name
})
return JsonResponse(data, safe=False)
以上代码中,refresh_items
视图函数返回一个JSON格式的数据,包含需要刷新的内容的ID和名称。
refresh_items
视图函数。例如:from django.urls import path
from .views import refresh_items
urlpatterns = [
# 其他URL配置...
path('refresh_items/', refresh_items, name='refresh_items'),
]
通过以上步骤,就可以在Django中使用jQuery刷新for循环中的内容了。每隔一定时间,前端页面会向后端发送刷新请求,后端返回最新的数据,前端根据数据更新相应的内容。这样就实现了动态刷新for循环中的内容。
领取专属 10元无门槛券
手把手带您无忧上云