その9 – 掲示板ひとだんらく。

前回までの機能では、最新の10件分しか見ることができませんでした。

これだと、書込が多くなってきたときに寂しいのでページ処理をつけました。

これによって、10件以上あっても見ることができるようになります。

if self.request.get('akey').strip() != "":
existcheck = db.GqlQuery ( "SELECT * FROM Article WHERE akey=:1", self.request.get('akey').strip())
if existcheck.count() <= 0:

akeyが設定されていて、そのakeyがデータストア内に存在するかどうかをチェックしています。

ブラウザで戻ったあとに送信ボタンが押されたときの対処なので、根本的な多重チェックとは違いますがないよりはマシかとつけてあります。

next_page = self.request.get('next')
if next_page.strip() != "" and next_page.isdigit():
article_start = int(next_page) - 1
max_size = db.Query(Article).count()
next_p = prev_p = 0
if article_start < 0 or article_start > max_size:
article_start = 0
if max_size > article_start + article_limit:
next_p = article_start + article_limit + 1
if article_start >= article_limit:
prev_p = article_start - article_limit + 1

ページ処理。URLの後ろにパラメータをつける形(GET)で指定を行います。

3つある判定のうち最初のヤツはあり得ない数値が来たときのための対処。

2つは次のページ、3つめは前のページの処理。

'prev' : prev_p,
'next' : next_p,

テンプレートへパラメータを渡すための登録。

設定された変数に応じて、次のページや前のページというリンクを作っています。

広告

About sato_c

小学生の頃にインベーダーゲームやPC-8001やApple][といったものを知ってしまい、それ以降ずーっとゲーム好き。でも、あんまりうまくはありません。 仕事は当初はゲーム関係のプログラムやサウンドをやっていましたが、WEB関係を通ったあと、遊技機関係のプログラムやサウンドをやっています。あまり節操がないのか。 現在はJavaですてきなコードを書けるように勉強中。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。