django-admin-sortable2 icon indicating copy to clipboard operation
django-admin-sortable2 copied to clipboard

Links to static files generated in result html do not correspond to custom StaticFileStorage settings

Open evgenybf opened this issue 7 years ago • 0 comments

Python 3.4.3, Django 1.9.8

I've encountered the problem using storages.backends.s3boto3.S3Boto3Storage but you can reproduce it locally:

# local default settings
STATICFILES_LOCATION = 'stat'
STATIC_URL = "https://%s/%s/" % ('my-default-local-site', STATICFILES_LOCATION)

# production settings (we put our static files to S3)
STATICFILES_STORAGE = 'my_project.MyStaticFilesStorage'
from django.contrib.staticfiles.storage import StaticFilesStorage
class MyStaticFilesStorage(StaticFilesStorage):

    def __init__(self, location=None, base_url=None, *args, **kwargs):
        # Try to Imitate a bucket name - ignore STATIC_URL at all by replacing base_url
        super().__init__(location, base_url='http://my-prod-site/', *args, **kwargs)

In admin site you can see that the ordinary admin links point to my-prod-site (use MyStaticFilesStorage settings) whereas adminsortable2 uses url defined in STATIC_URL:

<link href="http://my-prod-site/vendor/video.js/video-js.css" type="text/css" media="all" rel="stylesheet" />
<link href="https://my-default-local-site/stat/adminsortable2/css/sortable.css" type="text/css" media="all" rel="stylesheet" />
<script type="text/javascript" src="http://my-prod-site/admin/js/core.js"></script>
<script type="text/javascript" src="http://my-prod-site/admin/js/vendor/jquery/jquery.js"></script>
<script type="text/javascript" src="http://my-prod-site/admin/js/jquery.init.js"></script>
...
</script>
<script type="text/javascript" src="https://my-default-local-site/stat/adminsortable2/js/plugins/admincompat.js"></script>
<script type="text/javascript" src="https://my-default-local-site/stat/adminsortable2/js/libs/jquery.ui.core-1.11.4.js"></script>
....
</script>

evgenybf avatar Apr 11 '17 11:04 evgenybf