2

Python Web フレームワークであるPyramidを使用して Web アプリケーションを作成しました。

Web アプリケーションの 1 つのページで、ダイアログを実装したいと考えています。これを実現するために、 AngularUI Bootstrapを使用して AngularJS を学習しようとしています(ここでは AngularUI を使用したダイアログの例を示します)。

マイページには合計 7 つのダイアログが表示されます。これらのダイアログは、テキストと画像を表示し、入力を受け取って検証します。ダイアログの流れは直線的ではありません。条件付きダイアログと複数の実行ブランチがあります。

AngularUI Bootstrap ダイアログを表示するこの例を見てください。example.js:5-21ダイアログの表示オプションを構成します。パラメータtemplateには、表示される HTML が含まれます。

template:  t, // OR: templateUrl: 'path/to/view.html',

この例でvar tは、いくつかの静的なサンプル マークアップが含まれています。

var t = '<div class="modal-header">'+
        '<h3>This is the title</h3>'+
        ...



現在、Pyramid では、URL はファイルやフォルダーに直接マップされていません。代わりに、URL は登録済みのルートと比較されます。したがって、たとえば、 request は意味がありませんhttp://site.com/path/to/view.html。代わりに、次のようにコーディングします。

config.add_route('my_route', '/my_feature')

@view_config(route_name='my_route', renderer='/path/to/view.html')

view.htmlを呼び出すとレンダリングされますhttp://site.com/my_feature

ピラミッド ビューを として使用するにはどうすればよいtemplateUrlですか?

Pyramid は URL をビューに抽象化するtemplateUrlため、静的な HTML ファイル (例: abc.html) に を提供することはできません。私が提供するすべての URL は、Pyramid のルーティング システムを通過します。

私はtemplateUrl成功して静的HTMLファイルに与えようとしました。しかし、Pyramid 経由の URL は失敗し、ダイアログは表示されません。

解決策は何ですか?


解決

templateの代わりに誤って使用していましたtemplateUrl

templateUrl: '/your-pyramid-view'の代わりに表示されていることを確認してくださいtemplate: '/your-pyramid-view'

4

2 に答える 2

1

静的ビューで静的 html ファイルを提供できるはずです。

config.add_static_view(name='partials', path='yourpythonpackage:partials')

abc.html が yourpythonpackage/partials にある場合、/partials/abc.htmltemplateUrlに設定できます。

于 2013-08-10T20:12:00.997 に答える