gpt4 book ai didi

python - 从Django项目实现对外部API的异步请求?

转载 作者:行者123 更新时间:2023-12-01 09:04:39 25 4
gpt4 key购买 nike

在我的 Django 项目中,我必须实现对外部 API 的异步 HTTP 请求并获取结果。我发现通过使用 Django channel 和 celery 我们可以做到。 Django中的tornado simpleAsynchronousHttp包中有一个包吗?请问,谁能建议哪种方法可以更好地实现对外部 API 的异步 HTTP 调用并在 Django 中获取数据?

最佳答案

Requests 是一个 python 包,它使得执行 HTTP 请求变得非常容易。为了异步执行此操作,您可以利用 Celery 。对于celery设置,您可以按照 docs 。您可以使用redis作为经纪人。

在您的应用内创建一个任务。

# proj/tasks.py
from __future__ import absolute_import, unicode_literals
from .celery import app
import requests # https://github.com/requests/requests


@app.task
def call_api():
r = requests.get('https://api.github.com/events')

在文件中您想要调用该函数的任何位置,例如在你看来

# proj/views.py
from tasks import call_api
call_api.delay()

关于python - 从Django项目实现对外部API的异步请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52160232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com