- Author:
- ianreardon
- Posted:
- October 9, 2009
- Language:
- Python
- Version:
- 1.1
- Score:
- 1 (after 1 ratings)
If you request static files such as images, javascript or css using http rather than https, the browser will complain that your site is not secure.
This simple context processor will replace http:// with https:// in your MEDIA_URL if your static files are being included from an https page.
In your settings.py just replace 'django.core.context_processors.media' with your new context processor.
1 2 3 4 5 6 7 8 9 10 | from django.conf import settings
def ssl_media(request):
if request.is_secure():
ssl_media_url = settings.MEDIA_URL.replace('http://','https://')
else:
ssl_media_url = settings.MEDIA_URL
return {'MEDIA_URL': ssl_media_url}
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 2 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 6 months ago
Comments
Should of put that this is a Context Processor in the title.
#
Why not just refer to your media using img src='//media.mydomain.com/image.jpg'?
Removing the http: from the URL will force the browser to request using either HTTP or HTTPS, based on the current request. It's just taking the relative path a step further - down to the protocol, not just the hostname.
#
Please login first before commenting.