Как я могу вызвать удаленный API в Django View.py? - PullRequest
1 голос
/ 25 сентября 2019

У меня есть приложение Django, использующее API, написанный на ASP.Net.Я могу вызвать API из шаблона (HTML-страницы).Есть ли способ вызвать API из views.py?Я пробовал это.

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, поэтому извините, если я ошибся

1 Ответ

1 голос
/ 25 сентября 2019

Лучше использовать внешнюю библиотеку, такую ​​как 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()})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...