2011-08-07 10 views
1

私は異なるビューを持つピラミッドを使用しています。ビュージョブの一部を別のビュー(別のルート)に「委任」することが可能かどうかは疑問です。例えばあるビューから別のビューへの代理人

:私は使用しています

http://localhost:6543/sample_project/testruns/testrun001/report.html?action=edit 
=> delegate to: 
http://localhost:6543/sample_project/testruns/testrun001/report.json 

ビュー:

# report: 
@view_config(context=Root, route_name='report_route') 
def report_view(context, request): 
    ... 
    if 'edit' in request.GET.getall('action'): 
     # TODO: delegate to code_view 
     ??? 
    ... 
    # render report from report.json 

# editor: 
@view_config(context=Root, route_name='report_edit_route') 
@view_config(context=Root, route_name='code_route') 
def code_view(context, request): 
    .... 
+0

私はPyramidを知らないのですが、 'return code_view(context、request)'だけでは動作しませんか? –

答えて

1

をあなたが直接ビューを呼び出すことができ、彼らは単にpermissionを適用するピラミッドルータ機構を介して行くことはないだろうと他のそのようなパラメータをビューに表示します。おそらくあなたがそれを呼び出そうとしているなら、あなたはすでにこれらのことを知っています。

実際には、共通の機能を別の機能にリファクタリングして、それぞれのビューで作業の一部を委任できるようにするだけです。

+0

マイケルに感謝!私はリファクタリングアプローチに従います。それは私には良いアドバイスのように聞こえる。 – mark

関連する問題