I am working on a django project that provides an API to generate thumbnails of images, and the basic logic is like the following:
-
when the source image URL comes for the first time, the django would do some sort of image manipulation, and return the thumbnail image
-
when the same image URL comes again, django would simply serve the previous thumbnail image (stored as static media) again.
basically, case 2 happened much often than case 1. Now I used django to serve the images all the time, which I believe is a bad practice.
I wonder if it’s possible to do a better way of image serving for case 2? For example, is there some sort of way to ask django to send proxy requests to apache and ask apache to serve the file?
I know I could use HTTP redirect to do that, but that seems to generate too much redirect requests on the client side (one HTML page would contain a lot of links to this API).
thx.
The simplest solution of the top of my head would be to use an Apache rewrite rule with a condition.
This basically just checks to see whether the file exists in the media directory, and if it doesn’t it sends the user to the image generator, which can then generate and save the file to /media where it can be found for the next request.
NB: I’ve never actually tried this sort of redirection with Django, so it may need some measure of tweaking..