これは私がやろうとしていることに非常に固有なので、それが何であるかを説明し始めます。
- http:// localhost:6543 / path / to / myplot/plot001.pngのようなプロットを提供するPyramidアプリ
- プロットが利用できない場合は、別の画像が提供されます(work.png)
- もう1つの部分は、 http:// localhost:6543 / path / to / myplot / plot001.png?action=editのようなプロットの構成を入力するためのHTMLフォームを提供する deformビューです。ここで、クエリ文字列「action=edit」に注意してください。
- 構成は、データファイル、テンプレートなどで構成されます。
- フォームには、保存(構成を保存するため)ボタンとレンダリングボタン(http:// localhost:6543 / path / to / myplot / plot001.png?action = render)があります。結果をpngファイルにレンダリングすると、静的な方法で使用されます。
Matplotlibなどを使用したレンダリングなど、すべての要素を理解しましたが、PyramidとDeformは初めてです。ファイルからのプロットを提供する作業ビューもあります。変形形も作品のようなものです。現時点では、ULRを最適に構成して、サーブ、編集、およびレンダリングのユースケースを区別する方法がわかりません。Pyramidの話では、これはserve_viewとedit_viewのルートを構成する方法を意味していると思います。
__init__.py:
config.add_route('serve_route',
'/{project_name}/testruns/{testrun_name}/plots/{plot_name}.png')
config.add_route('edit_route',
'/{project_name}/testruns/{testrun_name}/plots/{plot_name}.png')
# can I use query strings like "?action=edit" here to distinguish the difference?
views.py:
@view_config(context=Root, route_name='serve_route')
def plot_view(context, request):
...
@view_config(context=Root, renderer='bunseki:templates/form.pt', route_name='edit_route')
def edit_view(request):
...
ピラミッドのマニュアルでは、ルートにパラメータを設定する方法についてのリファレンスが見つかりませんでした。いくつかのドキュメントやサンプルへのポインタで十分だと思います。詳細は自分で理解できます。ありがとうございました!