diff --git a/django/views/decorators/http.py b/django/views/decorators/http.py index b763d6e..26b7f05 100644 --- a/django/views/decorators/http.py +++ b/django/views/decorators/http.py @@ -11,6 +11,7 @@ from calendar import timegm from datetime import timedelta from email.Utils import formatdate +from django.conf import settings from django.utils.decorators import decorator_from_middleware, available_attrs from django.utils.http import parse_etags, quote_etag from django.utils.log import getLogger @@ -113,7 +114,8 @@ def condition(etag_func=None, last_modified_func=None): (if_match and if_none_match)): # We only get here if no undefined combinations of headers are # specified. - if ((if_none_match and (res_etag in etags or + if ((settings.USE_ETAGS and not etag_func) or + (if_none_match and (res_etag in etags or "*" in etags and res_etag)) and (not if_modified_since or res_last_modified == if_modified_since)):