1

私は自分のGAEプロジェクトに取り組んでいます。

カスタム JavaScript ファイルをテンプレート ファイルの 1 つに含めようとしています。

ディレクトリ構造は次のとおりです。

  • メインディレクトリ
  • app.yaml
  • main.py
  • テンプレート
    • base.html
  • JavaScript
    • myjavascript.js

base.html から myjavascript.js をインクルードしようとしています

app.yaml で、次のように指定します。

-url: /javascript
 static_dir: javascript

そしてbase.htmlで、

<script src = 'some src'> </script>

「いくつかのsrc」について、私は試しました:

../javascript/myjavascript.js
/javascript/myjavascript.js
javascript/myjavascript.js

しかし、常に404(ファイルが見つかりません)エラーが発生します。

Jinja2 の {% include /javascript/myjavascript.js %} も試しましたが、

IOError: [Errno 13] ファイルにアクセスできません GAE

何が起こっているのか誰でも私を助けることができますか?

ありがとうございました

4

3 に答える 3

2

ハンドラの順序は重要です。javascriptハンドラーがハンドラーの前にあることを確認してくださいmain。例:

handlers:
- url: /javascript
  static_dir: javascript
- url: .*
  script: main.app

Googleドキュメントから:

パターンは、app.yaml に表示される順序で上から下に評価されます。パターンが URL と一致する最初のマッピングが、リクエストの処理に使用されます。

于 2013-10-06T00:25:48.407 に答える
1

あなたのyamlファイルでこれを試してください

- url: /(.*\.(gif|png|jpg|ico|js|css|ttf|pdf))
  static_files: \1
  upload: (.*\.(gif|png|jpg|ico|js|css|ttf|pdf))

それ以外の:

-url: /javascript
 static_dir: javascript

パイプで区切られたすべてのファイルが含まれますが、アプリはダウングレードされません

また、base.html がテンプレート ディレクトリにあり、javascript ディレクトリがテンプレートと同じディレクトリにある場合 (あなたの場合)、../javascript/myjavascript.js パスを使用する必要があります。これは、「..」が親ディレクトリのままであるためです。 、およびbase.htmlファイルの場合、javascriptディレクトリは親ディレクトリにあります...

于 2013-10-04T06:25:20.727 に答える
0

これが私の app.yaml ファイルの 1 つです。

application: name-of-app
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /favicon\.ico
  static_files: favicon.ico
  upload: favicon\.ico
- url: /(.*\.(gif|png|jpg|ico|js|css|ttf|pdf))
  static_files: \1
  upload: (.*\.(gif|png|jpg|ico|js|css|ttf|pdf))
- url: .*
  script: name-of-app.app

libraries:
- name: webapp2
  version: latest                                                                      
- name: jinja2                                                                  
  version: latest                                                               
- name: markupsafe                                                              
  version: latest   

それを app.yaml と関連付けてみてください。

于 2013-10-05T07:47:15.950 に答える