Я следую этому вопросу, который помогает мне узнать, как переопределить мой JSONRenderer, но происходит у меня еще одно сомнение в том, как я могу предоставить аргумент моему переопределенному JSONRenderer, чтобы я мог изменить имя своего «элемента» по своему усмотрению:
пожалуйста, взгляните на следующий фрагмент:
from rest_framework.renderers import JSONRenderer
class EmberJSONRenderer(JSONRenderer):
def render(self, data, accepted_media_type=None, renderer_context=None):
data = {'element': data}
return super(EmberJSONRenderer, self).render(data, accepted_media_type, renderer_context)
Мое намерение - изменить этот «элемент» на переменную, которую я хотел бы получить с помощью аргумента, по этой причине я попробовал это:
в renderers.py
from rest_framework.renderers import JSONRenderer
class EmberJSONRenderer(JSONRenderer):
def __init__(self,myarg='teste'):
self.myarg = myarg
def render(self, data, accepted_media_type=None, renderer_context=None):
data = {self.myarg:data}
return super(EmberJSONRenderer, self).render(data, accepted_media_type, renderer_context)
в views.py:
class myViewSet(viewsets.ModelViewSet):
myrender = EmberJSONRenderer(myarg='abc')
renderer_classes = (myrender, BrowsableAPIRenderer, )
queryset = mymodel.objects.filter(myfilter=2)
serializer_class = mySerializer
allowed_methods = ('GET','OPTIONS','HEAD')
это вызовет следующую ошибку типа:
Объект EmberJSONRenderer не вызывается
Есть ли у вас какие-либо предложения, как я могу передать информацию из моего представления непосредственно в средство визуализации в качестве аргумента?