python - 如何在 django view.py 中调用远程 api?
问题描述
我有一个使用 ASP.Net 编写的 api 的 Django 应用程序。我可以从模板(html页面)调用api。有没有办法从views.py调用api?我试过这个。
from django.shortcuts import render
from django.contrib.auth.decorators import login_required
# Create your views here.
def categorydashboard(request):
r = request.get('xxx.xxx.xx.xxx:xxxx/Category/getSubCategoryNamev2', d=request.GET)
return render (request,'categoryDashboard.html',{})
API 样本数据(它是一个 GET 请求)
[
{
"category_id": 2,
"category_name": "Hyper Mechanical",
"Image_Path": null,
"subcategory": [
{
"category_id": 0,
"category_name": null,
"product_subcategory_id": 37,
"product_subcategory_name": "Lift",
"schema_id": null,
"Image_path": ""
}
]
}
]
服务器运行良好,但是当我调用 'categorydashboard' 查看它时抛出以下错误 AttributeError: 'WSGIRequest' object has no attribute 'get' 我是 Django 的新手,所以如果我弄错了,我很抱歉
解决方案
最好使用外部库,例如requests
. 例如:
import requests
def categorydashboard(request):
r = requests.get('xxx.xxx.xx.xxx:xxxx/Category/getSubCategoryNamev2', params=request.GET)
return render (request,'categoryDashboard.html', context={'subcategory':r.json()})
推荐阅读
- python - Keras CNN 架构
- javascript - 如何在每个矩形端点中绘制圆圈
- sql-server - MS SQL Connect 给出错误 mssql: A SQL editor must have focus
- .net-core - Add-Migration 或 dotnet ef 迁移添加
- javascript - 角度变化检测 zone.js
- git - 从管道推送到私有 bitbucket 存储库
- sql - CodeIgniter SQL 转义正则表达式查询
- python - selenium python - 无法在表中找到隐藏元素
- visual-studio - Visual Studio 15.7.1 Typescript 调试器没有中断
- node.js - 如何使用 slack 范围包含电子邮件和头像