問題タブ [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.

0 投票する
1 に答える
139 参照

python - セクションを解析しないように Zope/Chameleon に指示しますか?

Chameleon を使用する Pyramid アプリがあります。次のように、DOCTYPE でいくつかの属性を宣言する必要があります。

これをテンプレートに追加すると、id が適切にレンダリングされず、ブラウザーが "]>" を描画します。
ATTLIST を削除してのみ実行すると<!DOCTYPE public html .........>、すべてが機能します。

Chameleon に ATTLIST セクションを解析せずにそのままコピーするように指示するにはどうすればよいですか?

0 投票する
1 に答える
373 参照

python - テンプレートにテキストを表示しますか?

モデルにマークダウンテキストを含むテキストフィールドがあります。テキストをhtmlに変換して、.ptテンプレートに表示する必要があります。それを行うための最良の方法は何ですか?

フィールドを変換してHTMLを返すメソッドをモデルに追加し、テンプレートからメソッドを呼び出すことができることに気付きましたが、Djangoと同様に、テンプレートのマークダウンフィールドのみを使用することで、この余分なメソッドなしでそれを行うことができます?

0 投票する
1 に答える
250 参照

python - Chameleon i18n と複数形

Chameleon テンプレートでの複数形化はどのように行われますか?

ドキュメントで例を見つけることができませんでした。

たとえば、出力を持つことができます

0 投票する
1 に答える
1112 参照

python - ピラミッドi18nとHTML5

.ptファイルのPyramidi18nはHTML5マークアップをサポートしていますか?現在、i18nタグエクストラクタ(Babel?)はXHTMLベースの入力を必要としているようで、HTML5マークアップを受け入れません。したがって、.ptファイルでi18nを使用する場合は、XML風の方法でそれらを記述する必要がありますか?

0 投票する
2 に答える
337 参照

python - Pyramids / Python/SQLAlchemyで関連オブジェクトを参照する

この質問にタイトルを付ける方法がわかりません。また、コードを簡略化したので、質問しやすくなりました。Pyramidのmyproject.modelsに次のコードがあるとします。

ビューは非常に単純になります。

カメレオンを使用してこれを自分のページに返したい:

ただし、${thing.link}にはサイトのリンクは表示されません。

質問:

  1. things.linkのリンクを参照するにはどうすればよいですか?直感的には${thing.link.link}と入力しますが、それは機能しません。
  2. 任意のサブクラスを参照するにはどうすればよいですか?オブジェクトのサブクラスから任意の属性を抽出できるようにしたい(たとえば、thing.link.link、thing.link.domain、thing.link.createdなど)。

ところで、誰かがこの質問をするためのより良いタイトルを教えてください。

0 投票する
1 に答える
1102 参照

python - ピラミッドとカメレオンのZPTの繰り返し

リストをループして、次のような出力を取得しようとしています。

Python:

HTML:

リスト部分は正しく取得できますが、アンカーに追加するのはうまくいきません。

0 投票する
1 に答える
1699 参照

python - ピラミッド、カメレオン、テンプレートのレンダリング

テンプレート エンジン「chameleon」を使用して、Python Web フレームワーク「Pyramid」でプロジェクトを開始しました。

私はこのフレームワークの初心者ですが、顧客のために使用する必要があります。

フレームワークをインストールするための手順に従い、トレーニング目的でコーディングを開始しました。

私の最初のアプリケーションは、愚かで単純な CRUD アプリケーションでした。

私がやっていることは次のとおりです。

私の__init__.py場合、ビューごとに次のコードがあります。

config.add_view('myenglishdictionary.views.modify',route_name='modify_route',renderer='templates/base.pt')

base.pt は、ヘッダーとフッターを含むメイン テンプレートと、次のコードを含む div です。

私のファイルview.pyには、各ビューに次のような2行があります。

私のlist.ptには、base.ptに埋め込まれるコンテンツがあります

すべてうまくいったようです。しかし、ライブラリの更新後、テンプレートが正しく表示されなくなりました。

実際の html コードの代わりに、html エンティティがあります。

そのため、明らかにページの見栄えがよくありません。

base.pt テンプレートの html が正しく表示されていることから、問題は render メソッドにあるようです。

0 投票する
1 に答える
2396 参照

python - TAL、カメレオン、ピラミッドを使用した要素の繰り返しの問題

TALとカメレオン/ピラミッドを上手くプレイするのに本当に苦労しています。。。

Pyramidに、たとえば次のようなビューがあります。

次のHTMLを含むテンプレートがあります。

次のHTML出力を期待しています。

ただし、これを実行しようとすると、Pyramidはエラーをスローします。

かなり変だと思いました。クロージングを削除する<\tr>と、次のエラーが発生します。

私は本当にこれに固執しています、そしてどんな助けもいただければ幸いです!

0 投票する
3 に答える
3622 参照

templates - TALESを使用してtal:attributesの同じ属性に複数の値を設定する方法

1つの要素に複数のcssクラスを設定しようとしています。

残念ながら、これは機能しません。次のようになります。LanguageError: Duplicate attribute name in attributes.

これらの3つのケースを1つの式に組み合わせると、6つの異なるcss状態があるため、非常に複雑になります。

  • 最初の+アクティブ
  • 最初
  • 最後+アクティブ
  • 過去
  • アクティブ
  • (無し)

私が考えることができる2つの可能な解決策があります:

->各組み合わせをインラインで確認します。

->結合されたcssクラスを返すメソッドを作成します

さて、より良いアプローチがありますか?そうでない場合は、これら2つのうちどちらが優れていますか(おそらく後者の方が、インラインスクリプトがより複雑になるかのように、読み取り不能/管理不能になります)。

ところで、についての良いリソースと例はありますかChameleonhttp://chameleon.repoze.org/docs/latestTALES以外)

0 投票する
1 に答える
1387 参照

python - ピラミッドとカメレオンの ajax ウィジェット

サーバー側でカメレオンとピラミッドに支えられた ajax 'ウィジェット' を簡単に作成できるようにしたいと考えています。

Pyramid は、ウィジェットの作成を容易にする配管コードを提供していますか?

私の現在のアプローチは、レンダラーとして home.pt を使用するホーム ビューを持っていることです。home.pt は、ページ構造を定義するマクロ base.pt を使用し、home.pt が入力するスロットを提供します。base.pt は、私が作成したログイン 'widget' マクロも使用します (以下の account_login_widget.pt を参照)。

理論的には、これは素晴らしいことのように思えます...多くのページで使用できる再利用可能なログイン ウィジェットがありますが、現在のアプローチはうまく機能しません。私のログイン ウィジェットは、そのレンダラーで ${username} などの変数を使用します (サーバーが定義する必要があります)。ログイン ウィジェットとそのレンダリングをできる限り独立させたいと考えています。しかし、私の現在のやり方では、ホーム ビュー コードはログイン ウィジェットのニーズを認識し、ユーザー名、formrender、その他の変数をディクショナリに提供する必要があります。確かに良くない…

私は正しい考えに近づいているように感じますが、いくつか欠けているものがあります...

何かご意見は?

base.pt:

home.pt:

account_login_widget.pt: