django - 我可以从单个 Django 函数中分别返回模板和变量吗?
问题描述
我正在写一个ajax调用。该调用返回 HTML。但是,我只想在后端发生某些事情(发生插入或删除操作)时实际加载新的 HTML。
因此,我想从 Django 返回两个变量。(1) html,只有在第二个变量 (2) 返回 true 或 false 时才会加载。
虽然这不是很有用,但下面是一个示例函数:
def update_party_and_company_data(request):
parties, companies, reload = get_the_data()
context = {'parties': [list of parties],
'companies': [list of companies],}
html = render(request, 'setup_parties_data.html', context)
reload_instruction = reload
return HttpResponse(json.dumps({'html': html , 'reload_instruction ': reload_instruction }))
解决方案
我通过使用 render_to_string 渲染模板解决了这个问题:
def update_party_and_company_data(请求):
parties, companies, reload = get_data()
context = {'parties': parties,
'companies': companies,
}
html = render_to_string('setup_parties_data.html', context)
return JsonResponse({'html': html, 'reload': reload})