0

私はdjango関数を持っています

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

API から自分のページ main.html への辞書応答である r を渡したい

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")

livestream/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 に答える