2017-04-09 4 views
0

Also, ich versuche, eine Website in der Google Cloud App Engine zu hosten, aber CSS und andere statische Dateien werden nicht angezeigt. Hier ist die relevante Verzeichnisstruktur:CSS wird nicht auf gcloud app engine geladen?

myapp 
    -app.yaml 
    -manage.py 
    subapp 
    -apps.py 
    -models.py 
    -urls.py 
    -views.py 
    static 
     -style.css 

und der relevante Teil der app.yaml:

runtime: python 
env: flex 
api_version: 1 
threadsafe: yes 

handlers: 
- url: /static 
    static_dir: static 
- url: .* 
    script: myapp.wsgi.application 

Ich würde erwarten, dass, wenn ich zu https://myapp.appspot.com/static/style.css gehen, sie die style.css-Datei zu sehen, aber Stattdessen erhalte ich den Fehler 404 Seite nicht gefunden, und ich sehe, dass gcloud die 'static/style.css' mit der Liste der URLs vergleicht, die in urls.py anstelle des in app.yaml angegebenen statischen Verzeichnisses gefunden werden.

Was könnte schief gehen?

+0

Mögliche Duplikat [Wie kann ich Eimer Speicher verwenden statische Dateien auf Google flex/app-Engine-Umgebung zu dienen?] (Http://stackoverflow.com/questions/41631414/how-can-i-use-bucket-storage-to-serve-static-files-on-google-flex-app-engine-env) –

+0

Ich vermute, dass Ihr Projekt root auf 'myapp' gesetzt ist, während die 'static' ist ein Verzeichnis darunter. Hast du 'static_dir: subapp/static' versucht? – karthikr

Antwort

1

Leider funktionieren statische Handler nicht in der flexiblen Umgebung. Sie sollten Ihr CSS genau so bedienen, wie Sie es normalerweise von Ihrer Python-Anwendung gewohnt sind.

0

können Sie versuchen, diese in Ihrem app.yaml

handlers: 
- url: /static/style.css 
    static_files: static/style.css 
    upload: static/style.css 
Verwandte Themen