私はピラミッド1.6+の "文脈"述語の有用性について私の頭を覆そうとしています。唯一例えばURLDispatchを使用しているとき、私はこのように装飾された呼び出し可能なビューを持っているかもしれません:PyramidでURLDispatchを使用する場合、コンテキスト述語はこれまで有用ですか?
@view_config(route_name="employee_edit", context=Employee)
...
をとの私は定義されたルートの工場で、次のように定義されたルートを持っているとしましょう:
config.add_route("employee_edit","/employee/edit/{id}", factory=Employee)
無視許可Pyramidは、ユーザーがemployee_editルートを参照するときに、おそらく上記のビューを呼び出し可能にすることができます。ファイン。
しかし、私の質問は、 "context = Employee"はどのような値ですか?私の@view_config上の例では?..私はこれを人のコードで見てきました。
私が物事を理解していれば、context =という意味は、 "このビューは、コンテキストオブジェクトにcontext =で指定されたオブジェクトと同じ型が含まれている場合にのみ使用できます。つまり、上記の例では、Employeeオブジェクトが含まれていない限り、このビューを呼び出さないでください。
しかし、どのようにコンテキストにEmployeeオブジェクトが含まれていない可能性がありますか?言い換えれば、上記の私の例では、私は1つのルートを指定するビューを1つしか持たず、その1つのルートがコンテキスト内でEmployeeオブジェクトを放出するようにハードコードされていると仮定しています。ルート、それはできますか?
ピラミッドの巧みさと柔軟性は決して驚くことではありません:) –