問題タブ [chameleon]
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 - カメレオンの改行
ピラミッドフレームワークを使用して、大規模なWebアプリケーションを構築しました。
特に、このアプリケーションを使用すると、ユーザーはテキスト領域のフォームフィールドにテキストを入力できます。このテキストはデータベースに保存され、もちろん再度読み取って後で表示することができます。
コンテンツを表示するには、ChameleonTemplateEngineを使用しています。
これは、改行が正しく表示されない(まったく表示されない)ことを除いて、正常に機能します。これはおそらく、テキスト領域に入力された改行が、カメレオンを介して表示されたときにHTMLで新しい行を引き起こさないという事実によるものです。どうすればこれを修正できますか?
<br>
デフォルトではChameleonはすべてのHTMLタグをエスケープするため、改行を-Tagに置き換えることは役に立ちません。この機能を無効にできることは承知していますが、クロスサイトスクリプティングを避けるために無効にしたくありません。
templates - カメレオンにマコフィルター?
Mako で慣れているように、Chameleon でテンプレート フィルタを使用する可能性はありますか? マコでは、次のようなことができます
ここfilter
で、文字列を文字列にマッピングする関数であり、Mako が適用さfilter
れs
て出力されます (HTML エンティティをエスケープした後)。したがって、次のようなことを簡単に行うことができます
それを行う Chameleon の方法は、 Chameleon のLine Breaking であることを認識しています。しかし、このフィルターにはもっと多くのアプリケーションがあるので、Chameleon で同様のものがサポートされているかどうか疑問に思っています。
python - Python、Pyramid、Chameleon : Chameleon テンプレートを文字列で解析する
Chameleon テンプレートを文字列として保存しています。最初に独自の処理を行う必要があるため、この形式で取得しました。それに続いて、おそらく「応答へのレンダリング」を使用して、テンプレートを解析したいと思います。
ただし、ファイル内のテンプレートを指すのではなく、文字列に格納されたテンプレートを解析する方法がわかりません。これは可能ですか?
internationalization - Pyramidでi18n-edメールテンプレートを使用するための最良の方法
メールのテンプレートを国際化していきたいです。デフォルトでは、Pyramid1.4とChameleonを使用しています。
私は、TranslationStringをPageTextTemplateの本体として直接使用してみました。
ただしemail_body
、デフォルト値の代わりにmsgidが割り当てられます。これを行うとpython setup.py extract_messages
、デフォルトのテキストが自動的に挿入されません。
翻訳ドメインを接続するために何か特別なことをする必要がありますか?
これを達成するためのより良い方法はありますか?
少しコンテキスト
私の実際の要件は、いくつかのオブジェクトから電子メールを作成することです。ユーザーがページに移動すると、そのページは通常のHTMLページを返すだけでなく、テキストがレビュー担当者に自動的に送信される電子メールを作成します。レビュー担当者はテキストをクライアントに再送信するか、拒否します。この場合、電子メールテキストのi18nには2つの可能な要件があります。
- サイトのユーザーの言語を使用して、
- または受信者(クライアント)の言語を使用する
これまでのところ1番目を選択しており、時間が許せばクライアントがそれをプッシュする場合は、2番目のオプションを実行します。
カメレオンを使用したi18nのピラミッドに関するドキュメントは、ZPTテンプレートのみを参照しており、TXTテンプレートは参照していません。しかし、私たちの電子メールテキストはプレーンテキストです。
したがって、プレーンテキストテンプレートに対してi18nを実行する方法のドキュメントにはギャップがあります。
何か案は?
caching - SQL錬金術 + ピラミッド、「リクエストキャッシュ」
ピラミッド、sqlalchemy、chameleon を使用して Web サイトを作成しています... view.py で sqlalchemy を送信します。
とカメレオン:
しかし、sqlalchemy "user.minions.count()" は 2 回実行されるため、モデルにこれを追加しました。
「.count()」の代わりに「NumFixedMinions」の使用を開始しましたが、これにより、サーバーを再起動するまで_NumFixedMintionsが定義されました。何か不足していますか? または、リクエスト中にのみ単純な「キャッシュ」を作成する方法はありますか..
追伸:これは実際のコードではありません。ウェブサイトがモジュール化されているため、いつ何かが 2 回使用されるかを知るのは困難です。
python - ピラミッドカメレオンテンプレートをテストするにはどうすればよいですか?
次のようなものを使用してビューを単体テストする方法を知っています。
これの問題は、それが私のカメロンテンプレートをテストしないということです。時々、タイプミスが.ptファイルに挿入され、ビューテストでそれらが検出されないことがあります。
webtestを使用して統合テストを実行できると思いましたが、URLを要求してすべてのテンプレートをレンダリングしようとすると、すべてのコードパスをヒットするのが難しい場合があります...
テンプレート自体をテストして、正常にレンダリングされることを確認する簡単な方法はありますか?
python - Chameleon で Code ブロックを使用すると builtins.NameError が発生する
このスニペットが機能することを期待していました:
代わりに次のように失敗します。
背景として、アイデアは毎年年を更新する必要を避けることです:
macros - ピラミッド / ZPT (カメレオン) でマクロを使用する方法
ピラミッド+ZPTエンジン(Chameleon)でマクロを使いたい。
ドキュメントには、「1 つのページ テンプレートで複数のマクロに対応できる」と記載されています。 http://chameleon.readthedocs.org/en/latest/reference.html#macros-metal
したがって、ファイルを定義しました
macros.pt
:
main_template.pt
スロットを定義するすべての html 要素を含むグローバル テンプレートcontent
。
スロットを埋めるためにprogress.pt
使用する私のビューのテンプレート:main_template.pt
use-macro="main_template.pt"
これまでのところ、Zope のように Chameleon がテンプレートを自動的にロードしないため、ただ言うことはできないことを痛感しました。load:
したがって、前にスニペットを追加する必要がありました。
に来ていuse-macro="step-0"
ます。これにより、 NameError が発生しstep-0
ます。macros.pt
のようなものをプリロードしようとしました<tal:block tal:define="compile load: macros.pt" />
が、これは役に立ちませんでした。
マクロ サマリー ファイルに集められたマクロを使用するにはどうすればよいですか?
plone - 別の tal:repeat 関数で tal:repeat のインデックスを取得する
ご覧のとおりProcedur_Headers
、Diagnoses
との 3 つのリストがありList_Procedur
ます。
Procedur_headers
テーブルのヘッダーを
Diagnoses
提供し、プロシージャの特定の ID を提供し、
List_Procedur
必要なすべてのデータが含まれているリスト (クエリ) のリストです。今私がしたいことは、診断ページのインデックスを
テーブルでデータを取得できること。私はすでにインデックスを取得できます:
しかし、インデックスの場所でこれを行うことはできません。誰かがこのようなものに対する解決策を持っていますか?