2

私は開発に慣れていないので、辛抱強く待ってください:)

私は自分のサイトをjetstrap(ブートストラップのビジュアルデザイナー)で設計し、htmlをダウンロードしてから、PythonでバックエンドをプログラミングしてGoogleAppEngineにアップロードすることにしました。

jetstrapからファイルをダウンロードすると、htmlが含まれるフォルダーと、3つのフォルダーが含まれるassetsという名前のフォルダーがあります。CSS、画像、js。

ブラウザでHTMLを開くと、デザインしたようにサイトを見ることができます。しかし、Pythonでレンダリングしてローカルホストで開くと、cssなしで表示されます。

このフォルダをapp.yamalに追加しようとしています

application: web-development-test
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /templates/assets
  static_dir: stylesheet


- url: .*
  script: main.app

libraries:
- name: jinja2
  version: latest

テンプレートは、すべてのhtmlを含むアプリケーションディレクトリ上のフォルダーであり、アセットはcss、js、および画像を含むフォルダーです。

jetstrapからのhtmlの一部は次のとおりです。

<link href="assets/css/bootstrap.css" rel="stylesheet">
    <style>
      body { padding-top: 60px; /* 60px to make the container go all the way
      to the bottom of the topbar */ }
    </style>

そこにrel=stylesheetが表示されているので、app.yamalにstatic_dir:stylesheetを追加します。

私がやったことのほとんどすべては、オンラインチュートリアルからのものです。

前もって感謝します!

編集:私のアプリフォルダーの全体的な構造

google project
    app.yaml
    favicon.ico
    index.yaml
    main.py
    templates
        page1.html
        page2.html
        assets
           css
           img
           js
4

3 に答える 3

2

app.yamlの最初のハンドラーは、「ディレクトリスタイルシート(アプリのルートにあります)をURLパス/ templates/assetsで利用できるようにします」と言っています。これはおそらくあなたが望むものの逆です。代わりにこのハンドラーを試してください。

- url: /assets
  static_dir: templates/assets

これにより、たとえば、http://localhost:8090/assets/css/bootstrap.cssのファイルが返されるようになりますtemplates/assets/css/bootstrap.css。page1.htmlがまたは同様のもので提供されていると仮定すると//page1それはあなたが望むことをするはずです。

于 2013-03-15T00:49:46.330 に答える
2

ハンドラーの順序によって問題が発生する可能性があります。

url:/ stylesheets static_dir:stylesheets url:/.*スクリプト:helloworld.application

の代わりに動作します

url:/.*スクリプト:helloworld.application url:/ stylesheets static_dir:stylesheets

于 2014-10-09T16:32:54.257 に答える
1

私も同じ問題を抱えていました。ここに見られるように、app.yamlファイルのインデントエラーでさえ、後者まですべてに従いました。インデントを修正しました。それだけです。

于 2013-10-14T09:01:36.413 に答える