0

我有一个 django 函数

@csrf_exempt
def postdata(request):
    r = requests.post(url ,headers=headers, auth=auth, data=json.dumps(data))
    return HttpResponse(r)

我想将 r (它是来自 api 的字典响应)传递给我的页面 main.html

def main(request):
    return render(request, 'livestream/main.html')

如何将“r”传递到以前加载的页面?Main.html 使用 ajax 调用调用 postdate。如果 main.html 不刷新,我会更喜欢,但如果必须刷新,我可以。

我不确定这是否重要,但我使用的是 mysql 服务器

谢谢

4

2 回答 2

1

视图.py

# data should be a list of dictionaries and not a queryset
return HttpResponse(json.dumps(data), content_type="application/json")

直播/main.html

$.ajax({
  success: function(data) {
    console.log(data); // here is your server response
  }
});
于 2013-08-08T23:54:24.283 回答
0

只需更改您的视图以返回 JSON:

import json

from django.http import HttpResponse


@csrf_exempt
def postdata(request):
    r = requests.post(url ,headers=headers, auth=auth, data=json.dumps(data))
    return HttpResponse(json.dumps(r, ensure_ascii=False),
        content_type='application/json')

然后使用该 JSON 在客户端执行您需要的任何操作。

于 2013-08-08T23:55:33.113 回答