GAEO de お小遣い管理(3)
第1回と第2回からだいぶ間が空いてしまって、申し訳ないです。
というわけで、第3回 GAEO de お小遣い管理。
今回はユーザ情報管理「User」を作成します。
本来ならGoogleのアカウントを使ってログイン出来るようにすべきなのですが、
今回のシステムは携帯で使う事を念頭に置いています。
だから、個人的に長いGoogleのアカウントを入力したくない。
って事で専用のユーザ情報を持つことにしました。
# 指摘されましたが、確かに「かんたんログイン」を使えば良かったのかも・・・w
ユーザ情報管理「User」index.html
ユーザ情報登録画面を作成します。
場所は「/application/templates/user/」の直下です。
ユーザ名・パスワード欄をつけるだけ。
{% extends "../base.html" %} {% block title %}おこづかい管理-ユーザ登録{% endblock %} {% block content %} <p> <form action="/user/insert" method="post"> <fieldset> <legend>ユーザ登録</legend> <Table border="1" cellpadding="2" cellspacing="0"> <tr> <th><label>ユーザ名</label></th> <td><input type="text" name="userNm"></td> </tr> <tr> <th><label>パスワード</label></th> <td><input type="password" name="pass"></td> </tr> </Table> <input type="submit" value="登録"> <input type="reset" value="リセット"> </fieldset> </form> </p> {% endblock %}
ユーザ情報管理「User」insert.html
登録した後のエラーメッセージ表示画面を作成します。
何か上手い事いかなかったので、別ページにしました。
場所は「/application/templates/user/」の直下です。
メッセージ表示部と、戻るリンクつけるだけ。
{% extends "../base.html" %} {% block title %}おこづかい管理-ユーザ登録{% endblock %} {% block content %} <p> <h1>{{ errMsg }}</h1> <a href="#" onClick="history.back(); return false;">戻る</a> </p> {% endblock %}
ユーザ情報管理「User」user.py
ユーザ情報登録処理を「user.py」に作成します。
場所は「/application/controller」の直下。
# -*- coding: utf-8 -*- from google.appengine.ext import db from gaeo.controller import BaseController from model.user import User class UserController(BaseController): def index(self): pass def insert(self): errMsg = "" # 入力チェック check = False if len(self.params) < 2: errMsg = '画面遷移エラー' elif self.params.has_key('userNm') is False: errMsg = '画面遷移エラー' elif self.params.has_key('pass') is False: errMsg = '画面遷移エラー' elif len(self.params['userNm']) == 0 : errMsg = 'ユーザ名が未入力です。' elif len(self.params['pass']) == 0: errMsg = 'パスワードが未入力です。' else : check = True if check is True : userNm = self.params['userNm'] passwd = self.params['pass'] dat = db.GqlQuery("SELECT * FROM User") newUserID = dat.count() + 1 User(userID = newUserID, userNM = userNm, Password = passwd).put() self.redirect('/savemoney') else : # エラーメッセージ表示 self.errMsg = errMsg
何にかこの辺、ちょっと処理が不安です・・・。
ちゃんとエラーメッセージ出せるんだっけな。(ぉ
別画面になりますが、エラーメッセージは表示できます。
どうにかして画面遷移無しで表示したかったのだけど・・・。
何はともあれ、これでログインまでは出来るハズです。
次回は本体のお小遣い情報管理「SmMain」を作成します。
-
- -
8/10 またもプログラム修正しました。m(_ _)m
8/11 insert.html追加、user.py全体刷新。