Opened 9 months ago

Last modified 2 months ago

#27929 new New feature

Add ManifestStaticFilesStorage option to remove original (non-hashed) files after processing

Reported by: Jesse Owned by: nobody
Component: contrib.staticfiles Version: 1.10
Severity: Normal Keywords:
Cc: Ed Morley Triage Stage: Accepted
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

When collecting statics with CachedStaticFilesStorage or ManifestStaticFilesStorage, hashed versions of the files are created along side the originals. The documentation specifically states that this is intended to support any old links which point to the original non-cached versions of the files. However, for a new project, it's perfectly reasonable to not want to generate both sets of static files once your project is being served on a production server.

Change History (3)

comment:1 Changed 8 months ago by Tim Graham

Triage Stage: UnreviewedAccepted

I think it's okay, see ticket:24452#comment:17 and subsequent comments for possibly related discussion.

comment:2 in reply to:  1 Changed 2 months ago by Ed Morley

Cc: Ed Morley added

I agree an option to remove the original files would be great.

Replying to Tim Graham:

I think it's okay, see ticket:24452#comment:17 and subsequent comments for possibly related discussion.

So I think those comments were more about the intermediate files left behind (eg foo.<intermediate-hash>.css) rather than the original files (eg foo.css). For fixing the former there's ticket #28604, which would likely do the right thing all the time, rather than being opt-in. However I guess the same CachedStaticFilesStorage limitation might apply to the original files too.

That said, given this feature would be opt-in, and could perhaps be made to only support ManifestStaticFilesStorage, then perhaps this feature could be added even before #28606 / #28604?

Fwiw, WhiteNoise rolls its own implementation to remove them currently:
https://github.com/evansd/whitenoise/blob/9d3ad51f7f05e5391ec6f2f03211d958a08e374f/whitenoise/storage.py#L32

...though I'm likely going to be revising it slightly to be more like:
https://github.com/moccu/barbeque/blob/dc714b4fa7ce2ad517a0d37474f8a774df46219c/barbeque/staticfiles/storage.py#L16-L17

comment:3 Changed 2 months ago by Ed Morley

Summary: Add an option when collecting statics to remove non-cached files after processingAdd ManifestStaticFilesStorage option to remove original (non-hashed) files after processing
Note: See TracTickets for help on using tickets.
Back to Top