エラーが出ます
get_indiceComercioVarejista()に必要な位置引数が1つありません: 'request'
メソッドget_indiceComercioVarejistaにアクセスしようとしたとき。何が悪いのかわかりません。
ビュー:
from Django.http import JsonResponse
from Django.shortcuts import render, HttpResponse
import requests
import pandas as pd
from rest_framework.views import APIView
from rest_framework.response import Response
class ChartData(APIView):
authentication_classes = []
permission_classes = []
def get(self, request, format=None):
data = {
'customer' : 10,
'sales': 100
}
return Response(data)
def get_indiceComercioVarejista(self, request, format=None):
data = {
'customer' : 10,
'sales': 100
}
return Response(data)
uRL:
from Django.conf.urls import url
from . import views
from Django.contrib.auth.views import login
urlpatterns = [
url(r'^$', views.home),
url(r'^login/$', login, {'template_name': 'Oraculum_Data/login.html'}),
url(r'^cancerColo/$', views.cancerColo),
url(r'^educacao/$', views.educacao),
url(r'^comercio/$', views.comercio),
url(r'^saude/$', views.saude),
url(r'^api/chart/data/$', views.ChartData.as_view()),
url(r'^api/chart/indiceVolumeReceitaComercioVarejista/$', views.ChartData.get_indiceComercioVarejista)
]
誰かが私を助けてくれませんか?
request
が最初の引数として渡されます。最初の引数はself
です。
これがChartData
クラスからget_indiceComercioVarejista
を抽出するのが良い考えである理由です:
def get_indiceComercioVarejista(request, format=None):
data = {
'customer' : 10,
'sales': 100
}
return Response(data)
私は最善のアプローチは移動することだと思いますget_indiceComercioVarejista
APIViewの外。これは、APIView
が通常のhttpメソッドにディスパッチするためです:get post put patch delete
。
例えば:
view.py
def get_indiceComercioVarejista(request, format=None):
data = {
'customer' : 10,
'sales': 100
}
return Response(data)
urls.py
url(r'^api/chart/indiceVolumeReceitaComercioVarejista/$', views.get_indiceComercioVarejista)
別の解決策は、DRFで作業するときに推奨される ViewSet を使用することです。