Python Django应用程序与外部API连接
我有一个web应用程序,我可以上传文件并用它们做一些事情。 已请求将此应用程序与其他网站连接,并(根据请求)将应用程序中的文件上载到该网站。该站点提供了一个API,并提供了与之交互的python代码。因为我一岁就开始编程了,所以我不太了解API的概念。到目前为止,我所知道的是处理请求的中间部分。 反正 提供的代码(来自站点)有一个类和几个类的方法,如下所示:Python Django应用程序与外部API连接,python,django,api,Python,Django,Api,我有一个web应用程序,我可以上传文件并用它们做一些事情。 已请求将此应用程序与其他网站连接,并(根据请求)将应用程序中的文件上载到该网站。该站点提供了一个API,并提供了与之交互的python代码。因为我一岁就开始编程了,所以我不太了解API的概念。到目前为止,我所知道的是处理请求的中间部分。 反正 提供的代码(来自站点)有一个类和几个类的方法,如下所示: class ApiClient(object): def method1(self,param1): 因为到目前为止,我还没有使
class ApiClient(object):
def method1(self,param1):
因为到目前为止,我还没有使用过外部API,所以我不知道如何处理它,并且有一些问题
1.不管类ApiClinet(object)如何,我知道它们提供python代码,因此类是一个对象,但是我如何处理它呢?我要把它做成一个模型。模型
2.关于我的第一个问题,我是否将此信息存储在数据库中?那么我需要字段吗
谢谢你的建议 “API”的意思是“应用程序编程接口”,它实际上意味着大量不相关的东西……但说到web,“API”通常意味着“可以通过发送HTTP请求与之交互的东西”
有时,您只需要端点URL的描述、请求中的预期内容以及响应中应该返回的内容,并且您必须自己编写所有客户端代码(使用urllib
或-better-请求
),但有时需要某人(最终是API的作者)还为您选择的语言提供了一个客户机库,因此只需使用这个客户机库即可
在您的情况下,您似乎已经拥有了客户,因此只需使用它即可,即:
from yourapi import ApiClient
client = ApiClient(<probably some API key needed here>)
result = client.fetch_something(some, args)
从API导入ApiClient
client=ApiClient()
result=client.fetch_something(一些,args)
可用的方法和返回的方法当然完全特定于此API,应该在某个地方进行记录
如何处理结果完全取决于您自己,取决于您的项目要求,因此没有人能够回答这个问题
导入请求
远程_API_URL=”https://google.com/blabla"
类ApiClient(models.Model):
file=models.CharField(最大长度=255)
def保存(自身、*args、**kwargs):
post_data={'remote_api_file_field':self.file}
requests.post(远程API\uURL,data=post\u数据)
super(ApiClient.save())
另请参见;由于该网站提供了API,您是否阅读了其文档?他们是否解释了如何使用该API?可能对您的用例很方便。他们使用请求。仅仅因为OP不太了解API是什么以及如何使用它并不意味着您应该发布一些不合适的内容。谢谢@bruno的精彩回答。一个后续问题。我可以按原样与ApiClient(对象)交互吗?而不使其成为Django模型吗?如果可以,我应该将该类的代码放在哪里。在我的models.py上?>“我可以按原样与ApiClient(对象)交互吗?当然,为什么?Django“模型”只是ORM的一部分,您只能将其用于希望存储在SQL数据库中的内容(即使这样,您也可以不使用)。你可以把你的api客户端代码放在任何你认为合适的地方,这些都是纯Python的东西,你知道,这里没有什么神奇的东西。你说得对!只是我从编程学习一开始就与Django进行了很多互动,我忘记了一点纯Python的东西。非常感谢你的帮助!