在Django中使用新数据更新页面

时间:2018-03-29 20:29:32

标签: ajax django

让我们假设我有一个Django应用程序,可以创建和显示存储在数据库中的某种文章。每篇文章都有一个状态值,这意味着如果 status = 1,它应该显示,如果 status = 0,则不应该显示。

我在我的应用的某个页面上创建了文章,默认情况下,状态是1.在另一个标签中,另一个页面打开。每隔N秒,它会发送带有当前显示文章的ID的AJAX请求,并获得尚未显示的新文章的ID和内容的响应。

问题是 - 如果我不想在成功的AJAX请求函数中创建HTML标记,我怎样才能为新文章动态呈现div并用响应中的数据填充它们? em> append()函数还是某种东西?即我在一个标签中创建文章,它会立即显示在另一个标签中。

1 个答案:

答案 0 :(得分:1)

您可以使用所有新文章呈现模板:

def new_article_view(request):
    old_ids = request.query_params.get('ids')
    new_articles = Articles.objects.exclude(id__in=old_ids.split(','))
    # this render your template for Articles list.
    return render(request, {'new_articles':new_articles}

然后在你的javascript代码中你最推动django视图在div的末尾返回的html或类似的东西。