#34929: Issue with Django 3.2 and Django-storage 1.14.2 after Upgrading from 
Django
2.2.28
-------------------------------------+-------------------------------------
     Reporter:  Akash Ilangovan      |                    Owner:  nobody
         Type:  Bug                  |                   Status:  new
    Component:  Utilities            |                  Version:  3.2
     Severity:  Normal               |               Resolution:
     Keywords:  static files,        |             Triage Stage:
  ManifestStaticFilesStorage         |  Unreviewed
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------
Description changed by Akash Ilangovan:

Old description:

> - Upgraded from Django 2.2.28 to 3.2.
> - Using Django-storage 1.14.2.
> - Replaced CachedFilesMixin with ManifestStaticFilesStorage.
> - Post-upgrade, everything was the same; no other settings changed.
> - Issue: self.location is caching a None value that doesn't alter.
> - Temporary Fix: Deleting the cache in the debugger manually with a del
> statement resolves the issue.
> Code Snippet:
>   {{{#!python
>   class StaticFilesStorage(ManifestStaticFilesStorage, S3Boto3Storage):
>     def __init__(self, *args, **kwargs):
>         S3Boto3Storage.__init__(self,
> bucket_name=settings.STATIC_FILES_BUCKET,
> custom_domain=domain(settings.STATIC_URL), *args, **kwargs)
>         ManifestStaticFilesStorage.__init__(self, *args, **kwargs)
>
>   }}}
> Error output:
> {{{
> File /usr/local/lib/python3.8/dist-
> packages/django/contrib/staticfiles/storage.py:38, in
> StaticFilesStorage.path(self, name)
>      36 def path(self, name):
>      37     if not self.location:
> ---> 38         raise ImproperlyConfigured("You're using the staticfiles
> app "
>      39                                    "without having set the
> STATIC_ROOT "
>      40                                    "setting to a filesystem
> path.")
>      41     return super().path(name)
>
> ImproperlyConfigured: You're using the staticfiles app without having set
> the STATIC_ROOT setting to a filesystem path.
> }}}
> PDB output showing cached None value in self.location:
> {{{
> (Pdb) self.base_location
> 'tmp/vantage/static/'
> (Pdb) self.location
> ''
> (Pdb) os.path.abspath(self.base_location)
> '/app/tmp/vantage/static'
> (Pdb) del self.location
> (Pdb) self.location
> '/app/tmp/vantage/static'
> (Pdb) self._location
> 'tmp/vantage/static/'
> (Pdb) c
> }}}

New description:

 - Upgraded from Django 2.2.28 to 3.2.
 - Using Django-storage 1.14.2.
 - Replaced CachedFilesMixin with ManifestStaticFilesStorage.
 - Post-upgrade, everything was the same; no other settings changed.
 - Issue: self.location is caching a None value that doesn't alter.
 - Temporary Fix: Deleting the cache in the debugger manually with a del
 statement resolves the issue.
 Code Snippet:
   {{{#!python
   class StaticFilesStorage(ManifestStaticFilesStorage, S3Boto3Storage):
     def __init__(self, *args, **kwargs):
         S3Boto3Storage.__init__(self,
 bucket_name=settings.STATIC_FILES_BUCKET,
 custom_domain=domain(settings.STATIC_URL), *args, **kwargs)
         ManifestStaticFilesStorage.__init__(self, *args, **kwargs)

   }}}
 Error output:
 {{{
 File /usr/local/lib/python3.8/dist-
 packages/django/contrib/staticfiles/storage.py:38, in
 StaticFilesStorage.path(self, name)
      36 def path(self, name):
      37     if not self.location:
 ---> 38         raise ImproperlyConfigured("You're using the staticfiles
 app "
      39                                    "without having set the
 STATIC_ROOT "
      40                                    "setting to a filesystem
 path.")
      41     return super().path(name)

 ImproperlyConfigured: You're using the staticfiles app without having set
 the STATIC_ROOT setting to a filesystem path.
 }}}
 PDB output showing cached None value in self.location:
 {{{
 (Pdb) self.base_location
 'tmp/vantage/static/'
 (Pdb) self.location
 ''
 (Pdb) os.path.abspath(self.base_location)
 '/app/tmp/vantage/static'
 (Pdb) del self.location
 (Pdb) self.location
 '/app/tmp/vantage/static'
 (Pdb) self._location
 'tmp/vantage/static/'
 (Pdb) c
 }}}
 The error is resolved after manually refreshing the cache on self.location

--

-- 
Ticket URL: <https://code.djangoproject.com/ticket/34929#comment:2>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/0107018b6cca0cda-11c95318-ef84-48dc-863e-157057bb12f5-000000%40eu-central-1.amazonses.com.

Reply via email to