mirror of
https://github.com/encode/django-rest-framework.git
synced 2024-11-22 09:36:49 +03:00
Merge pull request #672 from wronglink/unicode__doc__
Fixed UnicodeDecodeError on get_name and get_description methods
This commit is contained in:
commit
44b59969ce
|
@ -14,6 +14,7 @@ import json
|
|||
from django import forms
|
||||
from django.http.multipartparser import parse_header
|
||||
from django.template import RequestContext, loader, Template
|
||||
from django.utils.encoding import force_unicode
|
||||
from rest_framework.compat import yaml
|
||||
from rest_framework.exceptions import ConfigurationError
|
||||
from rest_framework.settings import api_settings
|
||||
|
@ -405,13 +406,13 @@ class BrowsableAPIRenderer(BaseRenderer):
|
|||
try:
|
||||
return view.get_name()
|
||||
except AttributeError:
|
||||
return view.__doc__
|
||||
return force_unicode(view.__doc__)
|
||||
|
||||
def get_description(self, view):
|
||||
try:
|
||||
return view.get_description(html=True)
|
||||
except AttributeError:
|
||||
return view.__doc__
|
||||
return force_unicode(view.__doc__)
|
||||
|
||||
def render(self, data, accepted_media_type=None, renderer_context=None):
|
||||
"""
|
||||
|
|
|
@ -4,6 +4,7 @@ Provides an APIView class that is used as the base of all class-based views.
|
|||
from __future__ import unicode_literals
|
||||
from django.core.exceptions import PermissionDenied
|
||||
from django.http import Http404
|
||||
from django.utils.encoding import force_unicode
|
||||
from django.utils.html import escape
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
|
@ -96,7 +97,7 @@ class APIView(View):
|
|||
Override to customize.
|
||||
"""
|
||||
# TODO: deprecate?
|
||||
name = self.__class__.__name__
|
||||
name = force_unicode(self.__class__.__name__)
|
||||
name = _remove_trailing_string(name, 'View')
|
||||
return _camelcase_to_spaces(name)
|
||||
|
||||
|
@ -106,7 +107,7 @@ class APIView(View):
|
|||
Override to customize.
|
||||
"""
|
||||
# TODO: deprecate?
|
||||
description = self.__doc__ or ''
|
||||
description = force_unicode(self.__doc__) or u''
|
||||
description = _remove_leading_indent(description)
|
||||
if html:
|
||||
return self.markup_description(description)
|
||||
|
|
Loading…
Reference in New Issue
Block a user