Django 如何向API发送GET请求

Django 如何向API发送GET请求,django,api,web-applications,Django,Api,Web Applications,小结:我有一个工作板,一个用户搜索一个邮政编码,所有与该邮政编码匹配的工作都会显示出来,我正在尝试添加一个功能,让您可以看到该邮政编码特定英里半径范围内的工作。有一个web API(www.zipcodeapi.com)可以进行这些计算并返回指定半径内的邮政编码,我只是不确定如何使用它 使用www.zipcodeapi.com,输入一个邮政编码和一个距离,它将返回该距离内的所有邮政编码。API请求的格式如下:https://www.zipcodeapi.com/rest//radius.///,

小结:我有一个工作板,一个用户搜索一个邮政编码,所有与该邮政编码匹配的工作都会显示出来,我正在尝试添加一个功能,让您可以看到该邮政编码特定英里半径范围内的工作。有一个web API(www.zipcodeapi.com)可以进行这些计算并返回指定半径内的邮政编码,我只是不确定如何使用它

使用www.zipcodeapi.com,输入一个邮政编码和一个距离,它将返回该距离内的所有邮政编码。API请求的格式如下:
https://www.zipcodeapi.com/rest//radius.///
,因此,如果用户输入邮政编码“10566”,距离为5英里,则格式为
https://www.zipcodeapi.com/rest//radius.json/10566/5/miles
这将返回:

{
    "zip_codes": [
        {
            "zip_code": "10521",
            "distance": 4.998,
            "city": "Croton On Hudson",
            "state": "NY"
        },
        {
            "zip_code": "10548",
            "distance": 3.137,
            "city": "Montrose",
            "state": "NY"
        }
        #etc...
    ]
}
我的问题是如何使用django向API发送GET请求? 我让用户搜索存储在
zip=request.GET.GET('zip')
中的邮政编码,以及存储在
mile\u radius=request.GET['mile\u radius']
中的英里半径。如何将这两个值合并到
https://www.zipcodeapi.com/rest//radius.///
然后发送请求?这可以用Django来完成吗?还是我把这一切都弄糊涂了?是否需要使用前端语言完成?我曾尝试在google上搜索这个,但只在RESTful API中找到这个,我不认为这是我要找的。如果您不知道我以前从未使用过web API,请提前感谢您的帮助

您可以使用该软件包,完全按照您的要求进行操作。它非常简单,并且有很好的文档。 下面是一个示例,说明如何在您的案例中执行此操作:

zip_code = request.GET.get('zip')
mile_radius = request.GET['mile_radius']
api_key = YOUR_API_KEY
fmt = 'json'
units = 'miles'
response = requests.get(
    url=f'https://www.zipcodeapi.com/rest/{api_key}/radius.{fmt}/{zip_code}/{mile_radius}/{units}')
zip_codes = response.json().get('zip_codes')

zip\u代码
应该是一个数组,其中包含这些dict,如您的示例所示。

好的,我会的,谢谢。我一直认为这是一种为应用程序数据创建API的方法,而不是使用另一个web API,但我会研究它!两者都是。但是您仍然必须指定URL模式并将其连接到RESTAPI。