Попробуйте использовать RequestContext и request.is_secure
в своем шаблоне.
Одно предостережение, процесс обнаружения HTTPS может отличаться от настройки одного сервера к другому, поэтому вам может потребоваться немного поработать, чтобы заставить request.is_secure
работать. Вы можете заставить его работать, либо убедившись, что ваш передний / обратный прокси-сервер установил HTTP_X_FORWARDED_HOST, либо написав класс промежуточного программного обеспечения, настроенный для вашей настройки.
Используйте исходный код [1] SetRemoteAddrFromForwardedFor [2] в качестве отправной точки, если вы идете по маршруту пользовательского промежуточного программного обеспечения.
(мне разрешена только 1 ссылка на пост, поэтому прошу прощения за перепутанные ссылки)
[1]: docs.djangoproject.com/en/dev/releases/1.1/#id1 «Замечания к выпуску Django 1.1 - удалено SetRemoteAddrFromForwardedFor Middleware»
[2]: code.djangoproject.com/browser/django/trunk/django/middleware/http.py?rev=11000#L33 "SetRemoteAddrFromForwardedFor"