Django 访问外部API的视图集(弹性搜索)
所以我试图通过Django使用ElasticSearchAPI作为视图集 这是我的尝试,不起作用。我没有发现错误,但是URL实际上甚至没有出现,这让我觉得我的视图集坏了 服务.py 导入json 导入请求Django 访问外部API的视图集(弹性搜索),django,django-rest-framework,Django,Django Rest Framework,所以我试图通过Django使用ElasticSearchAPI作为视图集 这是我的尝试,不起作用。我没有发现错误,但是URL实际上甚至没有出现,这让我觉得我的视图集坏了 服务.py 导入json 导入请求 def get_items(id, title): url = 'http://localhost:9200/_search' params = json.loads(request.GET.body) r = requests.get('http://localho
def get_items(id, title):
url = 'http://localhost:9200/_search'
params = json.loads(request.GET.body)
r = requests.get('http://localhost:9200/_search', params=params)
items = r.json()
return items['results']
views.py
import services
class ElasticViewSet(viewsets.ViewSet):
def list(self,request):
item_list = get_items()
return item_list
pass
url.py
from api.views import ElasticViewSet
router.register(r'elastic', ElasticViewSet, base_name='Elastic')
构造
get\u items
方法以返回值
import json
import requests
def get_items(request):
url = 'http://localhost:9200/_search'
params = json.loads(request.body)
r = requests.get('http://localhost:9200/_search', params=params)
items = r.json()
return items['results'] # handle exceptions for fail proof design
并在视图中调用方法get\u items
,
至于裸露的骨头,你可以这样做
from rest_framework.response import Response
from rest_framework import viewsets
class ElasticViewSet(viewsets.ViewSet):
def list(self, request):
item_list = get_items(request)
return Response(data=item_list)
构造
get\u items
方法以返回值
import json
import requests
def get_items(request):
url = 'http://localhost:9200/_search'
params = json.loads(request.body)
r = requests.get('http://localhost:9200/_search', params=params)
items = r.json()
return items['results'] # handle exceptions for fail proof design
并在视图中调用方法get\u items
,
至于裸露的骨头,你可以这样做
from rest_framework.response import Response
from rest_framework import viewsets
class ElasticViewSet(viewsets.ViewSet):
def list(self, request):
item_list = get_items(request)
return Response(data=item_list)
仍然没有成功。谢谢,但它仍然没有显示为URL的
elastic
。DRF甚至没有列出它。我已经更新了我的OP以包含我的URL。它是真实的视图吗?是发布问题的视图吗?仍然没有成功。谢谢,但它仍然没有显示为URL的elastic
。DRF甚至没有列出它。我已经更新了我的OP以包含我的URL。它是真实的视图吗?是与问题一起发布的视图吗?您应该花一些时间阅读关于Django Rest框架的文档。你不应该在视图集中使用get,不应该使用render,你的代码没有定义item_list…感谢你提到这些文档,我已经花了好几个小时阅读了它们,但没有让它们正常工作。请提供答案。您应该花一些时间阅读关于Django Rest框架的文档。你不应该在视图集中使用get,不应该使用render,你的代码没有定义item_list…感谢你提到这些文档,我已经花了好几个小时阅读了它们,但没有让它们正常工作。请提供答案。