elasticsearch,django-rest-framework,python-requests,Python,Django,elasticsearch,Django Rest Framework,Python Requests" /> elasticsearch,django-rest-framework,python-requests,Python,Django,elasticsearch,Django Rest Framework,Python Requests" />

Python 查看以使用外部URL

Python 查看以使用外部URL,python,django,elasticsearch,django-rest-framework,python-requests,Python,Django,elasticsearch,Django Rest Framework,Python Requests,我想通过Django URL安全地访问ElasticSearch。从这个请求中,我将查找用户的令牌以获取其主键。然后我将只显示匹配的ES结果 现在,我只想连接到我的ElasticSearch URL。它会像一个“代理”一样工作 无论如何,下面将返回底部回溯。如何正确设置它?我需要串行服务器吗 views.py url.py 回溯 首先,您不需要ModelViewSet,因为没有Model。只需使用常规的视图集 第二,请花点时间想想你想做什么,以及你想怎么做我的视图不是常规操作。返回的HttpRe

我想通过Django URL安全地访问ElasticSearch。从这个请求中,我将查找用户的令牌以获取其主键。然后我将只显示匹配的ES结果

现在,我只想连接到我的ElasticSearch URL。它会像一个“代理”一样工作

无论如何,下面将返回底部回溯。如何正确设置它?我需要串行服务器吗

views.py url.py 回溯
首先,您不需要
ModelViewSet
,因为没有
Model
。只需使用常规的
视图集


第二,请花点时间想想你想做什么,以及你想怎么做<代码>我的视图不是常规操作。返回的
HttpResponseRedirect
不是代理。

答案是回溯。您继承的是ModelViewSet,它必须有一个查询集,指向代码中的某个模型是的,但我不想在代码中使用模型,我只想通过URLOk重定向,我创建了另一个问题,它更具体地尝试访问API。
from django.http import HttpResponseRedirect

class ElasticViewSet(viewsets.ModelViewSet):
    def my_view(request):
        if True:
           return HttpResponseRedirect('http://localhost:9200/_seach')
router.register(r'elastic', ElasticViewSet, base_name='Elastic')
Traceback:

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  149.                     response = self.process_exception_by_middleware(e, request)

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  147.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/django/views/decorators/csrf.py" in wrapped_view
  58.         return view_func(*args, **kwargs)

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/rest_framework/viewsets.py" in view
  83.             return self.dispatch(request, *args, **kwargs)

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  477.             response = self.handle_exception(exc)

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/rest_framework/views.py" in handle_exception
  437.             self.raise_uncaught_exception(exc)

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/rest_framework/views.py" in dispatch
  474.             response = handler(request, *args, **kwargs)

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/rest_framework/mixins.py" in list
  40.         queryset = self.filter_queryset(self.get_queryset())

File "/Users/mac1/Dev/A51/Backend/NewDJ/venv/lib/python2.7/site-packages/rest_framework/generics.py" in get_queryset
  67.             % self.__class__.__name__

Exception Type: AssertionError at /****/elastic/
Exception Value: 'ElasticViewSet' should either include a `queryset` attribute, or override the `get_queryset()` method.