代码之家  ›  专栏  ›  技术社区  ›  Tanveer Hasan

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

  •  1
  • Tanveer Hasan  · 技术社区  · 7 年前

    我有一个django应用程序,它使用由api编写的asp.net。我可以从模板(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”属性 我是新来的,如果我弄错了,我很抱歉

    1 回复  |  直到 7 年前
        1
  •  1
  •   ruddra    7 年前

    最好使用外部库 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()})