2016-11-09 4 views
2

Я хочу обслуживать статические файлы в пирамидах через request.static_url ('some_file'). Из-за несколько услуг, мои шаблоны получили линию нравится:Обслуживание статических файлов через https в пирамиде

<script type="text/javascript" src="${request.static_url('dbas:static/first')}"></script> 
<script type="text/javascript" src="${request.static_url('websocket:static/second')}"></script> 

Но, к сожалению, метод static_url() только поставляет связи с HTTP, как url_scheme, но я хочу HTTPS. Как я могу это достичь?

Спасибо!

+0

Заканчивать этот вопрос SO http://stackoverflow.com/questions/39033106/pyramid- debug-toolbar-serve-static-content-over-http-than-https –

+0

Спасибо, но теперь я хочу, чтобы каждый вызов через https: \ –

ответ

1

Easy, вам нужно всего лишь указать схему вы хотите, например:

<script type="text/javascript" src="${request.static_url('dbas:static/first', _scheme='https')}"></script> 

Примечание: Вы также можете указать _host или _port определить URL. Для получения дополнительной информации http://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.Request.route_url

+0

Но в разработке я использую http и в производстве https. –

+1

Вы можете передать переменную окружения, определенную в вашем setup.ini (например, development.ini и production.ini), например myproject.scheme = http, и перейти к шаблону, чтобы сделать его динамическим (settings.get ('myproject.scheme ',' http ')) –

2

Вы можете добавить url_scheme параметров в файл конфигурации (разделенные среды), как, что:

[server:main] 
use = egg:waitress#main 
host = 0.0.0.0 
port = 6500 
url_scheme = https 
+0

Не знаете, почему это опущено, это правильно, в документе wsgi здесь: https://wsgi.readthedocs.io/en/latest/definitions.html#wsgi-environ-keys –

+0

Да @ Jonno_FTW, я не знаю, почему он тоже занижен. –

Смежные вопросы