Django-generic-views
Django-汎用ビュー
場合によっては、前に見たようにビューを書くのは本当に重いです。 静的ページまたはリストページが必要だと想像してください。 Djangoは、汎用ビューと呼ばれるこれらの単純なビューを設定する簡単な方法を提供します。
クラシックビューとは異なり、ジェネリックビューは関数ではなくクラスです。 Djangoはdjango.views.genericでジェネリックビューのクラスのセットを提供し、すべてのジェネリックビューはそれらのクラスの1つまたはそれらの1つから継承するクラスです。
10個以上あります。ジェネリッククラス-
これは、汎用ビューに使用できます。 いくつかの例を見て、どのように機能するかを見てみましょう。
静的ページ
「staticl」テンプレートから静的ページを公開してみましょう。
私たちのstaticl-
以前に学んだ方法でこれを行った場合、 myapp/views.py を次のように変更する必要があります-
および myapp/urls.py は次のようになります-
最善の方法は、汎用ビューを使用することです。 そのため、myapp/views.pyは次のようになります-
そして、私たちのmyapp/urls.py-
/myapp/staticにアクセスすると、次のようになります-
同じ結果のために、次のこともできます-
- views.pyに変更はありません
- url.pyファイルを次のように変更します-
ご覧のとおり、2番目の方法でurl.pyファイルを変更するだけです。
DBからのデータのリストと表示
Dreamrealモデルのすべてのエントリをリストします。 これは、ListView汎用ビュークラスを使用して簡単に行えます。 url.pyファイルを編集し、次のように更新します-
この時点で重要なのは、汎用ビューからテンプレートに渡される変数がobject_listであることです。 自分で名前を付けたい場合は、as_viewメソッドにcontext_object_name引数を追加する必要があります。 その後、url.pyは次のようになります-
関連するテンプレートは、その後になります-
/myapp/dreamreals/にアクセスすると、次のページが生成されます-