2016-11-09 10 views
2

Ich möchte statische Dateien in Pyramiden über request.static_url ('some_file') dienen. Aufgrund mehrerer Dienste, habe meine Vorlagen Zeilen wie:Serving statische Dateien über https in Pyramide

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

Aber leider ist die Methode static_url() liefert nur Links mit http als url_scheme, aber ich will https. Wie kann ich das erreichen?

Danke!

+0

Schauen Sie sich diese Frage SO http://stackoverflow.com/questions/39033106/pyramid- debug-toolbar-serving-static-content-über-http-statt-von-https –

+0

Danke, aber ich möchte jetzt jeden Anruf über https: \ –

Antwort

1

einfach, Sie müssen nur das Schema angeben, die Sie wollen, zum Beispiel:

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

Hinweis: Sie können auch _HOST oder _port angeben können, die URL zu definieren. Für weitere Informationen http://docs.pylonsproject.org/projects/pyramid/en/latest/api/request.html#pyramid.request.Request.route_url

+0

Aber in der Entwicklung verwende ich http und in der Produktion https. –

+1

Sie können eine Umgebungsvariable übergeben, die in Ihrer setup.ini definiert ist (zB development.ini und production.ini), wie zB myproject.scheme = http und an die Vorlage übergeben, um sie dynamisch zu machen (settings.get ('meinprojekt.scheme ',' http ')) –

2

Sie können url_scheme param zu Ihrer Konfigurationsdatei (getrennt durch Umgebung) wie das hinzufügen:

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

Nicht sicher, warum dies downvoted ist, ist es richtig, per die wsgi docs hier: https://wsgi.readthedocs.io/en/latest/definitions.html#wsgi-environ-keys –

+0

Ja @ Jonno_FTW, ich weiß nicht, warum es auch runter geht. –

Verwandte Themen