DjangoでURLから値を受け取る

URLから動的に値を受け取ってみる。

前回の記事をちょっといじって

「http://XXXXX/?page=2」なら2ページ目。「http://XXXXX/?page=3」なら3ページ目にアクセスできるようにしたい。

request.GET[‘page’]で取得できるので

こんな感じにしてやればよい

 

しかしこのコードだと「http://XXXXX」にアクセスした際にpage_numberが無くてDjangoが困ってしまうので

みたいにしてあげると良い

 

 

 

DjangoでPagination

Paginationの実装

前回の記事だと全部のArticleが列挙されてしまうのでPaginationを実装する

3,7,9行目がポイント

各ページに3つ記事を表示します。そのうち2ページ目の項目の要素のみを送っています

こんな感じに該当する部分だけ引っ張ってくれます。便利ですね

Djangoでfor文

こんな感じでテンプレートに値を送ります

index.htmlはこんな感じ

こんな感じで列挙してくれる

Djangoでモデルを作成する

models.pyを以下のように編集

このままだと管理画面でこう表示されちゃう

こんな感じで表記すると記事のタイトルが表示されるようになるので見やすいです

Djangoの管理画面にモデルを追加する

管理画面からモデルを追加しようと思った時

モデル追加するの忘れてこんな画面に遭遇することがよくある。

管理画面上に表示するには「アプリケーション名/admin.py」の

を次のようにする

 

 

Djangoでアプリケーションを追加する

忘れずにsetting.pyにも追加しておこう