概念
演示应用程序
看看TheMealDB和TheCocktailDB API如何在实际应用中使用。
现在我们来看一个使用 TheMealDB API 和 TheCocktailDB API 的 Django 应用,为用户提供一些美味的食谱。
实时演示
下方的组件包含我们应用程序的代码。点击“运行”按钮来启动应用。
No configuration found for ID: b77decdb5bd4cbd7827a762bf6455b21077ececf119a810c74adced706ce731f
-
get_cocktails_list()函数定义在 第8至17行,用于获取用户所选类别中的鸡尾酒列表。- 在 第9行 获取用户选择的类别,并保存到变量
category中。 - 使用
category变量作为查询参数c的值调用 API,并将响应结果保存在response变量中,位于 第11行。 - 将
response变量转换为 JSON 格式,并将其发送到前端使用,见 第12至17行。
- 在 第9行 获取用户选择的类别,并保存到变量
-
我们使用
get_meals_list()函数,定义在 第20至29行,来获取用户所选类别中的菜品列表。- 在 第21行 获取用户选择的类别,并保存到变量
category中。 - 将
category变量作为查询参数c的值,调用 API 并将响应结果保存在response变量中,位于 第23行。 - 然后将
response变量转换为 JSON 格式,并发送到前端使用,见 第24至29行。
- 在 第21行 获取用户选择的类别,并保存到变量
-
我们使用
index()函数,定义在 第32至54行,用于渲染页面,同时也用于获取用户选择的菜品和鸡尾酒的信息。- 第33行 的代码检查请求是否由用户发起的 POST 请求。
- 如果没有收到 POST 请求:
- 在 第53行 声明一个空的
context变量。
- 在 第53行 声明一个空的
- 如果收到了 POST 请求:
- 在 第35行 和 第36行 分别获取用户选择的菜品和鸡尾酒。
- 在 第39至40行 完成 URL 的拼接。
- 在 第42至43行 使用这些 URL 调用 API。
- 在 第42行 将 TheMealDB API 的响应保存到
response1,在 第43行 将 TheCocktailDB API 的响应保存到response2。 - 在 第44至51行 将获取到的信息转换为 JSON 格式,并保存到
context变量中。
- 最后,将
context变量作为响应发送至templates/foodapp/index.html,位于 第54行。