Hi GMail! (you might want to fix your name used on google groups, I had the
same problem ;) )

This seems to be a legitimate bug in the __repr__ to me - SO informs me
that DRF is correct in not defining a Content-Type for a 204 as it has no
body:
https://stackoverflow.com/questions/21029351/what-content-type-should-a-204-no-response-use

I created a ticket: https://code.djangoproject.com/ticket/27640 . If you
want to try fix it there's a great contribution guide at
https://docs.djangoproject.com/en/dev/internals/contributing/ . I think
using str.format would be acceptable, but the dict subclass sounds more
complicated than just doing self.get('Content-Type', '') :)

On 26 December 2016 at 05:57, GMail <robosl...@gmail.com> wrote:

> Hi! I'm using Django 1.10.2 and Django-Rest-Framework 3.5.3.
> I noticed, that HttpRequest.__repr__ method relies on 'Content-Type'
> header:
>
>
> > class HttpResponse(HttpResponseBase):
> >     ...
> >
> >     def __repr__(self):
> >         return '<%(cls)s status_code=%(status_code)d,
> "%(content_type)s">' % {
> >             'cls': self.__class__.__name__,
> >             'status_code': self.status_code,
> >             'content_type': self['Content-Type'],
> >         }
>
>
> And after deleting an object in DRF sends empty response with HTTP204 and
> no 'Content-Type' header. I was trying to log outgoing response and got
> KeyError here.
>
> So I have two questions:
> 1. Is this intentional? Do all responses in Django have 'Content-Type'
> header and should DRF be aware of it?
> 2. Why not use `str.format` here? To avoid errors like this, `dict`
> subclass with `__missing__` method could be used.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django developers  (Contributions to Django itself)" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-developers+unsubscr...@googlegroups.com.
> To post to this group, send email to django-developers@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-developers.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/django-developers/39F85D40-019C-411A-BCA7-402E338EA527%40gmail.com.
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Adam

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CAMyDDM39qZj7fV-MvPX%2BtXvSNL9%2B80283Aa5P47uBh3D46Q8BQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to