So I have a tricky problem that I am not able find a better solution for.
I am using django-compressor
which does a great job in compressing/minifying the files. The problem I am facing is during deployment. For some time, I have been just using compress
tag on the production and I simply do a curl on all pages to make sure it regenerates the correct CSS/JS. So that way, new users don't have to feel the brunt of the compression process.
I know it has a management command that it can pre-compress the files, which then can be pushed to CDN and perhaps preload them behind the scenes on the landing/login pages.
Here is the problem, in some of the javascript code, i am using context vars and django tags [both custom and native].
var first = '{% some_tag some_context_var %}';
var name = '{{some_context_var}}';
This causes an error since during compression it tries to execute that tag which obviously doesn't have the values. It does come with COMPRESS_OFFLINE_CONTEXT
but its not dynamic.
Did anyone encounter this issue before. How do you do your compression if the code is mixed in with some django tags/context variables?
Found a way to resolve this.
Basically moved the variables into their own script blocks outside of the compressor and then use those variables inside the compression code. e.g.