• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python renderers.JSONRenderer类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中rest_framework.renderers.JSONRenderer的典型用法代码示例。如果您正苦于以下问题:Python JSONRenderer类的具体用法?Python JSONRenderer怎么用?Python JSONRenderer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了JSONRenderer类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。

示例1: _send_hook_request

    def _send_hook_request(self, obj, method):
        url = self._build_hook_url(obj)

        if method in ('POST', 'PUT'):
            # Build the body
            serializer = self.get_serializer(obj)
            renderer = JSONRenderer()
            context = {'request': self.request}
            body = renderer.render(serializer.data, renderer_context=context)
        else:
            body = None
        headers = {
            'content-type': 'application/json',
            'X-Signature': self._build_hook_signature(method, url, body)
        }

        try:
            response = requests.request(method, url, data=body,
                                        timeout=0.5, headers=headers)
            response.raise_for_status()
        except requests.exceptions.ConnectionError:
            # Host could not be resolved or connection refused
            pass
        except requests.exceptions.Timeout:
            # Request timed out
            pass
        except requests.exceptions.RequestException:
            # Server responded with 4XX or 5XX status code
            pass
开发者ID:cheshire-howe,项目名称:scrumboard,代码行数:29,代码来源:views.py


示例2: send_notifications

def send_notifications(snapshot_time):
    positions = Position.objects.filter(snapshot_time=snapshot_time)

    serializer = PositionSerializer(positions, many=True)
    rendered = JSONRenderer().render(serializer.data)

    Group('trams/positions').send({'text': rendered.decode()})
开发者ID:kubazarz,项目名称:waw-data,代码行数:7,代码来源:tasks.py


示例3: test_create_object

    def test_create_object(self):
        jr = JSONRenderer()

        for name, model in models.generated_models.models.items():
            serializer = models.generated_models.model_serializer(name)
            obj = G(model)
            pk = model._meta.pk.name
            # PUT
            data = serializer(N(model)).data
            if pk in data:
                del data[pk]
            url = reverse(self.view_name, kwargs={'model': name, 'pk': obj.id})
            response = self.client.put(url, jr.render(data), content_type='application/json')
            response_data = response.data
            if pk in response_data:
                del response_data[pk]
            self.assertDictEqual(data, response_data)
            # PATCH
            orig_data = serializer(obj).data
            patch_data = {}
            for key, val in orig_data.items():
                if key != pk and val != data.get(key):
                    patch_data = {
                        key: val
                    }
                    data[key] = val
                    break
            response = self.client.patch(url, jr.render(patch_data), content_type='application/json')
            response_data = response.data
            if pk in response_data:
                del response_data[pk]
            self.assertDictEqual(data, response_data)
开发者ID:gzbender,项目名称:test_smyt,代码行数:32,代码来源:tests.py


示例4: test_render_dict_abc_obj

    def test_render_dict_abc_obj(self):
        class Dict(MutableMapping):
            def __init__(self):
                self._dict = dict()

            def __getitem__(self, key):
                return self._dict.__getitem__(key)

            def __setitem__(self, key, value):
                return self._dict.__setitem__(key, value)

            def __delitem__(self, key):
                return self._dict.__delitem__(key)

            def __iter__(self):
                return self._dict.__iter__()

            def __len__(self):
                return self._dict.__len__()

            def keys(self):
                return self._dict.keys()

        x = Dict()
        x["key"] = "string value"
        x[2] = 3
        ret = JSONRenderer().render(x)
        data = json.loads(ret.decode("utf-8"))
        self.assertEquals(data, {"key": "string value", "2": 3})
开发者ID:mhsparks,项目名称:django-rest-framework,代码行数:29,代码来源:test_renderers.py


示例5: test_datetime_timezone_awareness

    def test_datetime_timezone_awareness(self):
        # Addresses issue #24 - ensure that datetime strings terminating
        # in 'Z' are correctly handled.
        from rest_framework import serializers
        from rest_framework.renderers import JSONRenderer

        class PersonSerializer(serializers.ModelSerializer):
            class Meta:
                model = Person

        # Figure out what the date strings should look like based on the
        # serializer output.
        john = Person.objects.get(name="John")
        data = PersonSerializer(john).data
        datetime_str = JSONRenderer().render(parse_datetime(data['datetime_joined']) + datetime.timedelta(seconds=0.6)).decode('utf-8').strip('"')

        # This is more for documentation - DRF appends a 'Z' to timezone aware UTC datetimes when rendering:
        # https://github.com/tomchristie/django-rest-framework/blob/3.2.0/rest_framework/fields.py#L1002-L1006
        self.assertTrue(datetime_str.endswith('Z'))

        GET = {
            'datetime_joined__lte': datetime_str,
        }
        f = AllLookupsPersonDateFilter(GET, queryset=Person.objects.all())
        self.assertEqual(len(list(f)), 1)
        p = list(f)[0]
        self.assertEqual(p.name, "John")
开发者ID:karmux,项目名称:django-rest-framework-filters,代码行数:27,代码来源:tests.py


示例6: channel_page

def channel_page(request, channel, allow_edit=False):
    channel_serializer =  ChannelSerializer(channel)

    channel_list = Channel.objects.select_related('main_tree').prefetch_related('editors').prefetch_related('viewers')\
                            .exclude(id=channel.pk).filter(Q(deleted=False) & (Q(editors=request.user) | Q(viewers=request.user)))\
                            .annotate(is_view_only=Case(When(editors=request.user, then=Value(0)),default=Value(1),output_field=IntegerField()))\
                            .distinct().values("id", "name", "is_view_only").order_by('name')

    fileformats = get_or_set_cached_constants(FileFormat, FileFormatSerializer)
    licenses = get_or_set_cached_constants(License, LicenseSerializer)
    formatpresets = get_or_set_cached_constants(FormatPreset, FormatPresetSerializer)
    contentkinds = get_or_set_cached_constants(ContentKind, ContentKindSerializer)

    json_renderer = JSONRenderer()

    return render(request, 'channel_edit.html', {"allow_edit":allow_edit,
                                                "channel" : json_renderer.render(channel_serializer.data),
                                                "channel_id" : channel.pk,
                                                "channel_name": channel.name,
                                                "channel_list" : channel_list,
                                                "fileformat_list" : fileformats,
                                                "license_list" : licenses,
                                                "fpreset_list" : formatpresets,
                                                "ckinds_list" : contentkinds,
                                                "current_user" : json_renderer.render(CurrentUserSerializer(request.user).data),
                                                "preferences" : request.user.preferences,
                                            })
开发者ID:aronasorman,项目名称:content-curation,代码行数:27,代码来源:views.py


示例7: _send_hook_request

 def _send_hook_request(self, obj, method):
     url = self._build_hook_url(obj)
     if method in ('post', 'put'):
         # Build body
         serializer = self.get_serializer(obj)
         renderer = JSONRenderer()
         context = {'request': self.request}
         body = renderer.render(serializer.data, renderer_context=context)
     else:
         body = None
     headers = {
         'content-type': 'application/json',
         'X-Signature': self._build_hook_signature(method, url, body),
     }
     try:
         response = requests.request(method, url,
                                     timeout=0.5, headers=headers)
         response.raise_for_status()
     except requests.exceptions.ConnectionError:
         """Host cannot be resolved or connection refused"""
         pass
     except requests.exceptions.Timeout:
         """Request timed out"""
         pass
     except requests.exceptions.RequestException:
         """Server response of 4XX or 5XX"""
         pass
开发者ID:acecodes,项目名称:acescrum,代码行数:27,代码来源:views.py


示例8: _send_hook_request

 def _send_hook_request(self, obj, method):
     url = self._build_hook_url(obj)
     if method in ('POST', 'PUT'):
         #compõe o corpo
         serializer = self.get_serializer(obj)
         rendererer = JSONRenderer()
         context = {'request': self.request}
         body = rendererer.render(serializer.data, renderer_context=context)
     else:
         body = None
     headers = {
         'content-type': 'application/json',
         'X-Signature': self._build_hook_signature(method, url, body)
     }
     try:
         s = requests.Session()
         requisicao = requests.Request(method, url, data=body, headers=headers)
         prepared = requisicao.prepare()
         response = s.send(prepared, timeout=0.5)
         response.raise_for_status()
     except requests.exceptions.ConnectionError:
         # Host não pôde ser resolvido ou a conexão foi recusada
         pass
     except requests.exceptions.Timeout:
         # Solicitação expirou
         pass
     except requests.exceptions.RequestException:
         # Servidor respondeu com código de status 4XX ou 5XX
         pass
开发者ID:nenodias,项目名称:django-essencial,代码行数:29,代码来源:views.py


示例9: perform_create

	def perform_create(self, serializer):
		serializer.save(owner=self.request.user)

		# add push notification task for the created question
		renderer = JSONRenderer()
		question_data = renderer.render(data=serializer.data)
		tasks.push_question.delay(question_data)
开发者ID:guyuanlin,项目名称:try-talk,代码行数:7,代码来源:views.py


示例10: _send_hook_request

	def _send_hook_request(self, obj, method):
		url = self._build_hook_url(obj)

		if method in ('POST', 'PUT'):
			serializer = self.get_serializer(obj)
			renderer = JSONRenderer()
			context = {'request': self.request}
			body = renderer.render(serializer.data, renderer_context=context)
		else:
			body = None

		headers = {
			'context-type': 'application/json',
			'X-Signature': self._build_hook_signarute(method, url, body)
		}

		try:
			print('Enviando peticion a :' + url + ' con metodo '+ method)
			response = requests.request(method, url, data=body, timeout=0.5, headers=headers)
			response.raise_for_status()
			print('Peticion enviada...')
		except requests.exceptions.ConnectionError:
			print('Error de conexion')
			# concexion rechazada
			pass
		except requests.exceptions.Timeout:
			print('Error de timeout')
			# timeout
			pass
		except requests.exceptions.RequestException, e:
			print('Error de 400 o 500', e.message)
			# error 4XX o 5XX
			pass
开发者ID:Wealthymaury,项目名称:Tornado-Django,代码行数:33,代码来源:mixins.py


示例11: process_response

    def process_response(self, request, response):
        if 'HTTP_ACCEPT' in request.META.keys() and 'text/html' in request.META['HTTP_ACCEPT']:
            try:
                path = resolve(request.path)
            except Resolver404:
                pass
            else:
                if hasattr(path.func, 'cls') and hasattr(path.func.cls, 'crud_model'):
                    request._request = request

                    if not hasattr(response, 'data'):
                        content = {"Error": response.content}
                    else:
                        renderer = JSONRenderer()
                        renderer_context = {'indent': 4}
                        content = renderer.render(response.data, "application/json", renderer_context)

                    renderer_context = {
                        'content': content,
                        'request': request,
                        'response': response,
                        'args': {},
                        'kwargs': {}
                    }
                    return TemplateResponse(request, "api.html", renderer_context).render()
        return response
开发者ID:bellhops,项目名称:django-crud-filters,代码行数:26,代码来源:views.py


示例12: channel

def channel(request, channel_id):
    channel = get_object_or_404(Channel, id=channel_id, deleted=False)
    channel_serializer =  ChannelSerializer(channel)

    accessible_channel_list = Channel.objects.filter( Q(deleted=False, public=True) | Q(deleted=False, editors__email__contains= request.user.email))
    accessible_channel_list = ChannelListSerializer.setup_eager_loading(accessible_channel_list)
    accessible_channel_list_serializer = ChannelListSerializer(accessible_channel_list, many=True)

    channel_list = accessible_channel_list.filter(editors__email__contains= request.user.email).exclude(id=channel_id).values("id", "name")
    fileformats = get_or_set_cached_constants(FileFormat, FileFormatSerializer)
    licenses = get_or_set_cached_constants(License, LicenseSerializer)
    formatpresets = get_or_set_cached_constants(FormatPreset, FormatPresetSerializer)
    contentkinds = get_or_set_cached_constants(ContentKind, ContentKindSerializer)

    channel_tags = ContentTag.objects.filter(channel = channel)
    channel_tags_serializer = TagSerializer(channel_tags, many=True)

    json_renderer = JSONRenderer()

    return render(request, 'channel_edit.html', {"channel" : json_renderer.render(channel_serializer.data),
                                                "channel_id" : channel_id,
                                                "channel_name": channel.name,
                                                "accessible_channels" : json_renderer.render(accessible_channel_list_serializer.data),
                                                "channel_list" : channel_list,
                                                "fileformat_list" : fileformats,
                                                 "license_list" : licenses,
                                                 "fpreset_list" : formatpresets,
                                                 "ckinds_list" : contentkinds,
                                                 "ctags": json_renderer.render(channel_tags_serializer.data),
                                                 "current_user" : json_renderer.render(CurrentUserSerializer(request.user).data)})
开发者ID:jayoshih,项目名称:content-curation,代码行数:30,代码来源:views.py


示例13: _handle_error

def _handle_error(status_code):
    info = {
        'status': status_code
    }

    renderer = JSONRenderer()
    content_type = '{media}; charset={charset}'.format(media=renderer.media_type, charset=renderer.charset)
    return HttpResponse(renderer.render(info), content_type=content_type, status=status_code)
开发者ID:HimanshuDhoni,项目名称:edx-analytics-data-api,代码行数:8,代码来源:views.py


示例14: get_context_data

    def get_context_data(self, **kwargs):
        # Add some serialized json for bootstrapping the client-side app
        renderer = JSONRenderer()
        kwargs['project_json'] = renderer.render(serializers.ProjectSerializer(self.get_project()).data)
        kwargs['scheme_json'] = renderer.render(serializers.SchemeSerializer(self.object).data)
        kwargs['user_json'] = renderer.render(serializers.UserSerializer(self.request.user).data)

        return super(SchemeEditorView, self).get_context_data(**kwargs)
开发者ID:michaelbrooks,项目名称:uw-message-coding,代码行数:8,代码来源:views.py


示例15: test_u2028_u2029

 def test_u2028_u2029(self):
     # The \u2028 and \u2029 characters should be escaped,
     # even when the non-escaping unicode representation is used.
     # Regression test for #2169
     obj = {'should_escape': '\u2028\u2029'}
     renderer = JSONRenderer()
     content = renderer.render(obj, 'application/json')
     self.assertEqual(content, '{"should_escape":"\\u2028\\u2029"}'.encode('utf-8'))
开发者ID:geresy,项目名称:django-rest-framework,代码行数:8,代码来源:test_renderers.py


示例16: test_compact

 def test_compact(self):
     renderer = JSONRenderer()
     data = OrderedDict([('a', 1), ('b', 2)])
     context = {'indent': 4}
     assert (
         renderer.render(data, renderer_context=context) ==
         b'{\n    "a": 1,\n    "b": 2\n}'
     )
开发者ID:geresy,项目名称:django-rest-framework,代码行数:8,代码来源:test_renderers.py


示例17: test_with_content_type_args

 def test_with_content_type_args(self):
     """
     Test JSON rendering with additional content type arguments supplied.
     """
     obj = {"foo": ["bar", "baz"]}
     renderer = JSONRenderer()
     content = renderer.render(obj, "application/json; indent=2")
     self.assertEqual(strip_trailing_whitespace(content.decode("utf-8")), _indented_repr)
开发者ID:mhsparks,项目名称:django-rest-framework,代码行数:8,代码来源:test_renderers.py


示例18: emit_hedwig_serializer_data

def emit_hedwig_serializer_data(action, module_name, serializer_name, serializer):
    if not bool(hedwig_rest_framework_settings.SERIALIZER_SIGNALS):
        return

    routing_key = '.'.join([project_name, module_name, 'serializer', serializer_name, action,
                            str(serializer.instance.pk)])
    json_renderer = JSONRenderer()
    hedwig_emitter.emit(routing_key, json_renderer.render(serializer.data))
开发者ID:ofpiyush,项目名称:hedwig-py,代码行数:8,代码来源:serializers.py


示例19: test_without_content_type_args

 def test_without_content_type_args(self):
     """
     Test basic JSON rendering.
     """
     obj = {'foo': ['bar', 'baz']}
     renderer = JSONRenderer()
     content = renderer.render(obj, 'application/json')
     # Fix failing test case which depends on version of JSON library.
     self.assertEqual(content.decode('utf-8'), _flat_repr)
开发者ID:geresy,项目名称:django-rest-framework,代码行数:9,代码来源:test_renderers.py


示例20: render

 def render(self, data=None, accepted_media_type=None, renderer_context=None):
     if isinstance(data, bytes):
         return data
     else:
         jr = JSONRenderer()
         self.media_type = jr.media_type
         self.format = jr.format
         self.charset = jr.charset
         self.render_style = jr.render_style
         return jr.render(data, accepted_media_type=accepted_media_type, renderer_context=renderer_context)
开发者ID:Omegaice,项目名称:SmartLoad,代码行数:10,代码来源:views.py



注:本文中的rest_framework.renderers.JSONRenderer类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python renderers.XMLRenderer类代码示例发布时间:2022-05-26
下一篇:
Python renderers.HTMLFormRenderer类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap