問題タブ [mako]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - mako は、現在 Windows でレンダリングされているオブジェクト名にどのようにアクセスできますか?
私は mako を初めて使用し、オブジェクト モデルについて質問があります。
次のように、render コマンドを使用して、Windows 7 で mako を介してテンプレート ファイルを生成しています。
レンダリングされているファイル内で、次の疑似コードのようなオブジェクト名にアクセスしたい...
これは可能ですか?
注: 次のような出力を生成することができます
しかし、実際のオブジェクト名が必要です
python - Mako名前空間で定義されたアクセス変数
通常、Makoで名前空間を「インポート」すると、defへのアクセスのみが許可されるように見えます。
そしてインポートテンプレート:
私のユースケース ではsomevar
、とfoo
は関連しています。somevar
インポートするテンプレート内からもアクセスできると便利です。これを行うためのベストプラクティスは何ですか?
python - パス内のPythonモジュール:makoテンプレートで発生したImportError
私を怒らせる可能性のあるImportErrorがあります。状況は次のようになります。
コード(問題が解決する前にコミットすることを躊躇するテストディレクトリはありません)は、https ://github.com/Boldewyn/website/からオンラインで入手できます。
を呼び出すpython -m website.__main__ build
と、メインルーチンは、の下のテンプレートを使用して、いくつかの入力静的HTMLファイルから作成しますwebsite/_templates
。これは、任意のディレクトリで問題なく機能します。
ただし、tests/testWebsite.py
私には単体テストがあり、それも同じことを実行する必要があります。ただし、Makoテンプレートでは、ファイルのインポートエラーが発生します。他の場合は正常にインポートされます。
テストを実行すると、次のようになります。
面白いのは、sys.path
テンプレートから直接印刷できることです。
そして、私はそこで確認することができます、それwebsite
は道の中にあります。また、インポートは他のすべての展開シナリオでうまく機能します。
インポートwebsite
するかwebsite._webtools
、うまく機能します。一部だけwebsite._webtools.templatedefs
がうまくいかない。
何がうまくいかない可能性があるかの兆候を見つけるためにどこを見ることができるか、誰かアイデアがありますか?
テストコードは非常に単純です。
編集:もう1つの診断:makoにテンプレートをコンパイルさせ、結果のPythonファイルをスタンドアロンで実行しました。チャームのように機能します。また、templatedefs.pyを最小限に減らし(defのみが空の文字列を返す)、そのファイルのImportErrors(またはその他の奇妙な点)も除外できるようにしました。
システム情報: Ubuntu 11.04、Python 2.7、Mako0.3.6。
javascript - Pythonの文字列をjsスクリプトに送信する方法
これにはモジュールjsonを使用しようとしましたが、jsスクリプトとfirebugでエラーが発生します。例。私はこの行を持っています:
jquery.ocupload-1.1.2.js
ビルドセレクター用に呼び出されたjsスクリプトに送信してみます。そして、私はすべてがどう"
なるかを理解し"
、エラーが発生します:
そして、json.dumpsを試してみます"
が\"
、スクリプトはこの構造体では機能しません。{"fruit":{"apple":100}}
エスケープや余分な文字なしで「クリーンな」json構造体を作成するにはどうすればよいですか?
解決しました。テンプレートにはマコを使用しています。そして、その中のフィルターをオフにする必要があります
python - Mako テンプレートでの辞書の使用
次のようにテンプレートに変数を渡す代わりに:
辞書をテンプレートに渡し、同じ方法でレンダリングするにはどうすればよいですか
したがって、テンプレートでは変数を通常どおり表示できます。
テンプレートに余分なコードを入れたくないので、Context オブジェクトを何らかの方法で使用することを考えていましたが、レンガの壁にぶつかりました。何か案は?
python - Pythonのマジックエンコーディング指定行で拡張ASCII(つまり、range(256))を指定するにはどうすればよいですか?
makoテンプレートを使用して、特殊な構成ファイルを生成しています。これらのファイルの一部には拡張ASCII文字(> 127)が含まれていますが、makoは、使用すると文字が範囲外であると言って窒息します。
だから私はおそらく次のようなものがあるのだろうかと思っています:
私が使用できることは、range(128、256)文字で問題ありません。
編集:
ファイルの問題のあるセクションのダンプは次のとおりです。
makoが文句を言う最初の文字は000001b4です。このセクションを削除すると、すべて正常に機能します。セクションが挿入されると、makoは次のように文句を言います。
マジックコメント行で「ascii」を使用しても「latin-1」を使用しても同じ苦情です。
ありがとう!
グレッグ
python - Why use Context with mako?
I reads manual by Makotemplate and see follows code:
What profit use Context?
google-app-engine - Mako with Google App Engine - 一時ファイルはどうするの?
Mako で動作するように Google App Engine アプリを修正しました。これを行うために、コメントを含むこの回答に従いました。
Google App Engine を使用した Mako テンプレート
ただし、ファイルからテンプレートをロードすると、大きな問題が発生します。デフォルトでは、mako/template.py の Mako's Template は、コンパイル済みのテンプレートを保存する一時ファイルを作成しようとします。私が知る限り、GAE では一時ファイルを作成することはできません。誰かがこれに遭遇し、回避策を見つけましたか?
python - Mako の Django の「スペースレス」タグの類似物?
{% spaceless %}
Django のタグと同様に、Mako テンプレートに、テンプレート出力から余分なスペースを削除できるメカニズムはありますか?
python - Mako ランタイム環境で NameError と AttributeError を適切に処理するにはどうすればよいですか?
Mako テンプレート内で未定義の変数にアクセスしようとするNameError
と、非常に論理的に が発生することがわかりました。ただし、一部のアプリケーションでは、より適切に失敗することが望ましく、おそらくそのようなエラーで空の文字列を置き換えます (AttributeError
別の候補です)。これは、Django テンプレート言語のデフォルトの動作です。Mako でこの動作を取得する方法はありますか?