私はプロジェクトにクラスベースのビューを導入しようとしています。私は次の問題を見つけるまで、これまで良い見えた。Djangoのクラスベースのビューで `as_view`をどのようにオーバーライドしますか?
パンくずリストを作成するのに私はdjango-navigation
を使用しています。これは次のように機能します:ビュー関数が装飾され、このデコレータはbreadcrumb
というその関数の属性を導入します。テンプレートでは、現在のURLまたはその部分が解決され、結果のビューがこの属性に対してチェックされます。それがあれば評価され、結果はブレッドクラムのテキストになります。
通常、クラスベースのビューはas_view()
メソッドで表されるため、クラスメソッドであるため、私はそれを装飾する必要があるようですが、私のパンくずリストはもちろんそのインスタンスにアクセスできませんに。
__init__()
のas_view()
に属性breadcrumb
を添付しても機能しないか、構文が正しくありません。 EDIT:私はそれを戻り値ではなくas_view
に添付しているので、もちろん動作しませんでした。
ブレッドクラムデコレータとクラスベースのビューを正しく統合する方法はありますか?
これを1行で入力できますか? 'url(r '^ $'、the_decorator(ListView.as_view())、name = 'app_index')'? –
はい、できます:) – nfg