2

これは何度か尋ねられましたが、解決策のどれも手助けしていないようです。Google App Engineは静的ファイルを提供していません

Flaskを使用して、私のウェブサイトに基本的なHTMLとCSSを提供しようとしています。 App Engineでは、Flaskがテンプレートを正しく提供していますが、スタティック/ cssフォルダ内でスタイルシートを見つけることができません(デベロッパーコンソールのログに404個あります)。

/app 
    /static 
     /css 
      style.css 
    /templates 
     home.html 

私が使用しているコマンドは次のとおりです:HTMLでメインのpythonファイルで

render_template('home.html') 

<link rel="stylesheet" type="text/css" href="{{ url_for('static', filename='css/style.css') }}"> 

マイプロジェクトの関連する構造はこれですスタイルシートをリンクします。 私のapp.yamlファイルには、非常に基本的なものです:

runtime: python27 
api_version: 1 
threadsafe: true 

handlers: 
- url: /.* 
    script: main.app 
- url: /static 
    static_dir: static 
    expiration: "7d" 

私はローカルホスト上で実行すると、これは正常に動作し、かつなurl_for関数が正しいを得るにもかかわらず、Googleのクラウドプラットフォーム上で正しくスタイルシートを取得していないが、 [開発]タブで正しいソースコードを使用している場合は、HTMLのみが提供されます。 それは助けている場合、これは私がアプリを展開するために使用しているコマンドです:

gcloud app deploy app.yaml --project my-project 

私は問題が私の目の前に右であると確信しているが、私は把握することはできません。どんな洞察にも感謝します。前もって感謝します。

答えて

2

app.yamlファイル内のハンドラの順番は重要ですが、/staticパターンは最初に/.*パターンと一致するため、ヒットすることはありません。その順序を逆にする必要があります。

静的コンテンツはアプリケーションコードと一緒に利用できるため、GAEにデプロイするとそうでない可能性があります。静的コンテンツはデフォルトでは他の場所にあり、アプリケーションコードからアクセスできません。

+0

それがうまくいった!ありがとうございました! – NotNando

関連する問題