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'
。