多くの静的なHTMLファイルを含むウェブサイトを設定しようとしています。現在、私は私が今行う必要がある何Googleのアプリケーションエンジンでhtmlファイルを配信し、pythonスクリプトを実行
- url: /(.*)
static_files: www/\1
upload: www/(.*)
secure: always
のapp.yamlをハンドラと静的ファイルとしてHTMLファイルを提供しています誰かがこれらのHTMLファイルの1つにリダイレクトされるたびに、いくつかのPythonコードを実行する機能です。
htmlファイルを静的ファイルとして提供する方法はありますか?呼び出されたときにpythonスクリプトを実行しますか?もちろん、javascriptのほかに。
私の最初の考えは、スクリプトを実行するhtmlファイル用のハンドラを用意し、次にそのスクリプトが必要とするバックエンドタスクを行い、webapp2またはjinjaを使用してhtmlファイルをテンプレートとして提供することでした。私のhtmlファイルは、いくつかのサブディレクトリに、いくつかのディレクトリの下に私のpythonファイルから保存されています。
-app.yaml
-main.py
-www
-version1
--sub directories stored here
現在の仕事にこれを試してみて得るために私のテストハンドラは次のようになります。
class testHandler(BaseHandler):
def get(self, url):
tplPath = self.request.url
parseURL = urlparse(tplPath)
path = "www" + dirname(parseURL.path)
filename = basename(parseURL.path)
return jinja2.Environment(
loader=jinja2.FileSystemLoader(path)
).get_template(filename).render()
この要求されたURLまたはHTMLファイルを取得し、パスのwww部分を追加して(サイドノート、元のウェブサイトレイアウトと一貫性を保つために提供URLからwww部分を削除しました)、htmlファイルをレンダリングしようとしますパスフォルダにあります。
私はこれを実行しようと、HTTPSにアクセスして言う:// AppID.appspot.com/version1/product1/index.htmlは、私が
TemplateNotFound: index.html
エラーを取得し、私がされているパスを確認ローダに送信され、index.htmlファイルを含むディレクトリへの正しいパスです。
ここには何かが欠けていますか? jinja2を使った私の経験は非常に限られていることに留意してください。代わりに、私はpythonスクリプトを実行し、まだhtmlファイルを提供することができる他の方法はありますか?どんな助けもありがとうございます。