2

私は現在、GAEでホストされている自分のWebサイトで作業しています。しばらく更新されていないので、今は更新しようとしています:D

トリックを行うために、PythonとWSGI、WebAPP2とRender.Templateを使用してMVCモデルを使用しようとしています。

CSSの部分を除いて、すべてがうまくいきます。

実際、GAE(django)メソッドを使用してCSSの一部をレンダリングすることはできません。私のPythonコントローラーはHTMLファイルを呼び出しており、変数をdict()値に正しく置き換えています。

しかし今、CSSファイルの量を制限できるようにするために、私は同じことをしようとしています。

残念ながら、CSSファイルをどのように呼び出すのかわかりません。

私は現在、いつものようにHTMLでCSSを呼び出しています。

<link rel="stylesheet" media="screen" type="text/css" href="/assets/css/struct/index.css">

そして、ファイルのこの部分を動的にレンダリングしようとしています。

header#navigation{
height:auto;
min-height:480px;
width:100%;
min-width:100%;
background-image:url('/assets/img/content/{{content_cat_name}}/cat_img.jpg');
background-repeat:no-repeat;
background-position: left top;
background-size:contain;
background-color:#efefef;
}

そして、すべてが次のように私のPythonコードによって呼び出されます。

class URIHandler(webapp2.RequestHandler):
def get(self, subdomain, page):
    name = subdomain
    pattern = os.path.join(os.path.dirname(__file__), '../views' ,'index.html')        
    template_values = {
            'content_cat_name':name,
            'cat_menu_title':name,
            'cat_menu_text':name,
    }

    self.response.out.write(template.render(pattern, template_values))

ですから、誰かが私のCSSを正しく呼び出し、Pythonスクリプトを使用して変数を置き換えるのを手伝ってくれるなら、私は本当に幸せです:Dよろしくお願いします。

4

2 に答える 2

2

template.renderpathパラメーター (最初のパラメーター)で指定したファイル内のトークンのみを置き換えることができます。静的ディレクトリから .css ファイルを提供しているため、そのファイルがそのコードを通過しないため、トークンの置換は発生しません。

index.html ファイル内のトークンを含む CSS の部分をインライン化できます。

于 2012-06-05T12:28:32.107 に答える
0

私は同じ問題だと思うものを抱えていました。このGAE ドキュメントは非常に役に立ちました。つまり、app.yaml ファイルに移動して、新しいハンドラーを作成する必要があります。

url: /foldername
  static_dir: foldername

そして、リンクタグで:

href="foldername/index.css"
于 2014-11-26T04:33:07.187 に答える