Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django应用程序与外部API连接_Python_Django_Api - Fatal编程技术网

Python Django应用程序与外部API连接

Python Django应用程序与外部API连接,python,django,api,Python,Django,Api,我有一个web应用程序,我可以上传文件并用它们做一些事情。 已请求将此应用程序与其他网站连接,并(根据请求)将应用程序中的文件上载到该网站。该站点提供了一个API,并提供了与之交互的python代码。因为我一岁就开始编程了,所以我不太了解API的概念。到目前为止,我所知道的是处理请求的中间部分。 反正 提供的代码(来自站点)有一个类和几个类的方法,如下所示: class ApiClient(object): def method1(self,param1): 因为到目前为止,我还没有使

我有一个web应用程序,我可以上传文件并用它们做一些事情。 已请求将此应用程序与其他网站连接,并(根据请求)将应用程序中的文件上载到该网站。该站点提供了一个API,并提供了与之交互的python代码。因为我一岁就开始编程了,所以我不太了解API的概念。到目前为止,我所知道的是处理请求的中间部分。 反正

提供的代码(来自站点)有一个类和几个类的方法,如下所示:

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的东西。非常感谢你的帮助!