**The root cause:**
- First load using Postman:
- default header: Accept: */*
- Second load using Firefox:
- default header: Accept:
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
=> First load's **cache_key** != Second load's **cache_key**
--
Ticket URL: <https://code.djangoproject.com/ticket/32774>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
Old description:
> **What is the issue?**
> - With the same URL, I made 2 requests (1 Postman, 1Firefox), but the
> second request was not cached
>
> **The root cause:**
> - First load using Postman:
> - default header: Accept: */*
>
> - Second load using Firefox:
> - default header: Accept:
> 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
>
> => First load's **cache_key** != Second load's **cache_key**
New description:
**What is the issue?**
- With the same URL, I made 2 requests (1 Postman, 1Firefox), but the
second request was not cached
**The root cause:**
- First load using Postman:
- default header: Accept: */*
- Second load using Firefox:
- default header: Accept:
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
=> First load's **cache_key** != Second load's **cache_key**
**PR:**
https://github.com/django/django/pull/14432
--
--
Ticket URL: <https://code.djangoproject.com/ticket/32774#comment:1>
Old description:
> **What is the issue?**
> - With the same URL, I made 2 requests (1 Postman, 1Firefox), but the
> second request was not cached
>
> **The root cause:**
> - First load using Postman:
> - default header: Accept: */*
>
> - Second load using Firefox:
> - default header: Accept:
> 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
>
> => First load's **cache_key** != Second load's **cache_key**
>
> **PR:**
> https://github.com/django/django/pull/14432
New description:
**What is the issue?**
- With the same URL, I made 2 requests (1 Postman, 1Firefox), but the
second request was not cached
**The root cause:**
- First load using Postman:
- default header: Accept: */*
- Second load using Firefox:
- default header: Accept:
'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8'
=> First load's **cache_key** != Second load's **cache_key**
--
--
Ticket URL: <https://code.djangoproject.com/ticket/32774#comment:2>
* status: assigned => closed
* resolution: => needsinfo
Comment:
Thanks for this ticket, however I don't think you've explained the issue
in enough detail to confirm a bug in Django. As far as I'm aware cache
keys don't vary on the `ACCEPT` header unless you explicitly add it to the
`VARY`. In such case it works as expected. Can you provide more details
and a sample project?
--
Ticket URL: <https://code.djangoproject.com/ticket/32774#comment:3>
Comment (by HoangYell):
Replying to [comment:3 Mariusz Felisiak]:
> Thanks for this ticket, however I don't think you've explained the issue
in enough detail to confirm a bug in Django. As far as I'm aware cache
keys don't vary on the `ACCEPT` header unless you explicitly add it to the
`VARY`. In such case it works as expected. Can you provide more details
and a sample project?
Thank you, Seem like I don't understand enough about VARY :)
For those who are facing the same problem as me. here is an easy solution:
In **settings.py**
{{{
import django.utils.cache
django.utils.cache.cc_delim_re = re.compile(r"(?:\s*,\s*)|(?:Accept)")
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/32774#comment:4>