python - 如何在 django view.py 中调用远程 api?

标签 python django api

我有一个 Django 应用程序,它使用 ASP.Net 编写的 api。我可以从模板(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”对象没有属性“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 - 如何在 django view.py 中调用远程 api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58091061/

相关文章:

ruby-on-rails - Rails 处理不同 Controller 客户端(Web、iOS API)的方式是什么?

python - Python 中 Matlab 的 'fread' 是什么?

Python bool 字节大小

django - 同时使用 django-registration 和 django-socialauth 时如何显示注册后欢迎消息?

python - 如何显示包含列表的字典中的值作为django中的值

ruby - 如何创建异步 HTTP 请求,同时仍提供对象接口(interface)?

python - CountVectorizer 不适用于 sklearn 中的测试字符串

python - 如何在 Python 中对单个函数执行多处理?

django - Django弹出错误消息

json - 如何在 Flutter 中检查 JSON 数组是否为空