【发布时间】:2021-02-05 02:37:54
【问题描述】:
我正在使用 Yelp API 并使用此详细视图来显示各个餐厅的详细信息,例如餐厅的名称、评级和价格。详细字典在大多数情况下是可靠的,让我可以收集变量以用作模板中的上下文。然而,一些餐馆不向 API 提供他们的“价格”,因此在访问这个视图时我得到一个 KeyError,因为在某些情况下没有价格。如何使用 None 的价格创建此字典以避免此错误?还是使用 try & except 处理异常是最好的解决方案?
def detail(request, api_id):
API_KEY = 'unique_key'
url = 'https://api.yelp.com/v3/businesses/'+ api_id
headers = {'Authorization': 'Bearer {}'.format(API_KEY)}
req = requests.get(url, headers=headers)
parsed = json.loads(req.text)
detail = {
'id': parsed['id'],
'name': parsed['name'],
'rating':parsed['rating'],
'price': parsed['price'],
}
context = {'detail': detail}
return render(request, 'API/detail.html', context)
【问题讨论】:
标签: python django dictionary