トラバーサルを使用する単純なピラミッド ベースの CMS を作成しています。などのCollection
サブクラスを持つというクラスがあります。NewsCollection
GalleriesCollection
これらのコレクションを表示するには、2 種類のビューが必要です。フロントエンドの html ビューとバックエンドの json ビュー (管理パネルは dgrid を使用してデータを表示します)。バックエンド ビューは一般的なものにすることができます。すべてのケースで json データをダンプします。フロントエンド ビューはそうすべきではありません - あらゆる種類のデータ用のカスタム テンプレートがあります。
問題は次のとおりです。次のようにビューを構成すると:
@view_config(context=Collection, xhr=True, renderer='json', accept='application/json')
それは正しく動作します。ただし、このビュー用に構成されたビューを追加するとすぐに優先NewsCollection
されます。上記の構成と競合するように具体的に述語を配置しても (例: accept='text/html'
)、上記のビューは呼び出されません。代わりに、「述語の不一致」が発生します。
Collection
私の質問は - のビューもある場合に呼び出されるように構成されたビューを作成するために何かできることはありますNewsCollection
か? または、他の設計を使用する必要がありますか ( URL ディスパッチや、異なるリソース タイプに対して同じビューを複数回追加するなど)。