我正在使用django == 1.10和djangorestframework == 3.4.6构建服务器端
我已经构建了一个JSONRenderer:
class CustomJSONRenderer(JSONRenderer):
def render(self, data, accepted_media_type=None, renderer_context=None):
meta_fields = ["temp_save", "subject", "visit"]
a = {"fields": {}}
for k in data:
try:
meta_fields.index(k) # Crashes with ValueError if not found
a[k] = data[k]
except ValueError:
a["fields"][k] = data[k]
return super(CustomJSONRenderer, self).render(a, accepted_media_type, renderer_context)
问题:是否可以获取视图request
对象?我特别想要访问urls参数(例如request.kwargs['pk']
答案 0 :(得分:3)
您可以从以下renderer_context
获取请求。
request = renderer_context['request']
class CustomJSONRenderer(JSONRenderer):
def render(self, data, accepted_media_type=None, renderer_context=None):
request = renderer_context['request'] or None
meta_fields = ["temp_save", "subject", "visit"]
a = {"fields": {}}
for k in data:
try:
meta_fields.index(k) # Crashes with ValueError if not found
a[k] = data[k]
except ValueError:
a["fields"][k] = data[k]
return super(CustomJSONRenderer, self).render(a, accepted_media_type, renderer_context)
可能会对你有帮助。