«前の日記(2008-05-04) 最新 次の日記(2008-05-06)» 編集

ToDo:

  • 99 時間配分をかえる (~12/31 あと251日)
  • 98 毎日目標をたてる (~12/31 あと251日)
  • 97 買物は行動を変えるもの・ことに限る(~12/31 あと251日)

ɥozɐʞıɥ


2008-05-05 Google App Engine出来たー [長年日記]

_ [GAE] Google App Engine

なんか入れたー。 ってことで、まずは作ってみました。 本購入履歴システムってほどでもない。 いちをー本と本屋を多対多にしておいて、購買って関係テーブルを作ってみました。 GoogleのLogin IDが必須ってことでお願いします。 とりあえず、ソースを晒し。
#!/usr/bin/env python
import os
import cgi
import wsgiref.handlers
from google.appengine.ext.webapp import template
from google.appengine.ext import db
from google.appengine.ext import webapp
from google.appengine.api import users
class Book(db.Model):
  author = db.StringProperty()
  title = db.StringProperty()
  price = db.IntegerProperty()
class Shop(db.Model):
  name = db.StringProperty()
  place = db.StringProperty()
class Purchase(db.Model):
  book = db.ReferenceProperty(Book)
  shop = db.ReferenceProperty(Shop)
  user = db.UserProperty()
  date = db.DateProperty()
class MainHandler(webapp.RequestHandler):
  def get(self):
    user = users.get_current_user()
    if user:
      purchase_list = db.GqlQuery("SELECT * FROM Purchase WHERE user = :1",
                                  user)
      url = users.create_logout_url(self.request.uri)
      url_linktext = 'Logout'
      template_values = {
      "purchase_list" : purchase_list,
      "url": url,
      "url_linktext":url_linktext
      }
      path = os.path.join(os.path.dirname(__file__),'index.html')
      self.response.out.write(template.render(path,template_values))
    else:
      self.redirect(users.create_login_url(self.request.uri))
class EntryHandler(webapp.RequestHandler):
  def post(self):
    book = Book()
    book.author = self.request.get('author')
    book.title  = self.request.get('title')
    book.price  = int(self.request.get('price'))
    book.put()
    shop = Shop()
    shop.name   = self.request.get('name')
    shop.place  = self.request.get('place')
    shop.put()
    purchase = Purchase()
    purchase.book = book
    purchase.shop = shop
    purchase.user = users.get_current_user()
    purchase.put()
    self.redirect('/')
def main():
  application = webapp.WSGIApplication([('/', MainHandler),
                                        ('/entry',EntryHandler)],
                                       debug=True)
  wsgiref.handlers.CGIHandler().run(application)
if __name__ == '__main__':
  main()
templateも晒しておこう。
<html>
  <body>
    <table border="1">
      <tr>
	<th>著者命</th>
	<th>タイトル</th>
	<th>価格</th>
	<th>本屋名</th>
	<th>場所</th>
      </tr>
    {% for purchase in purchase_list %}
      <tr>
	<td>{{purchase.book.author|escape}}</td>
	<td>{{purchase.book.title|escape}}</td>
	<td>{{purchase.book.price|escape}}</td>
	<td>{{purchase.shop.name|escape}}</td>
	<td>{{purchase.shop.place|escape}}</td>
      </tr>
    {% endfor %}
    </table>
    <form action="/entry" method="post">
      <label>著者名:<input type="text" name="author" /></label>
      <label>タイトル:<input type="text" name="title" /></label>
      <label>価格:<input type="text" name="price" /></label>
      <label>本屋名:<input type="text" name="name" /></label>
      <label>場所:<input type="text" name="place" /></label>
      <input type="submit" name="OK" value="登録" />
    </form>
    <a href="{{ url }}">{{ url_linktext }}</a>
  </body>
</html>

_ [blog] ぶっちゃーの日記より

今の瀬戸内海で,あれだけ大きい鯛があんなにごっそり取れるのか?と言う疑問はあるのだが・・・.

それを言っちゃあオシメエよってところです。

そりゃもうヲレの小さい頃からの話ですけどね。

っつーか、鞆の鯛網って随分行ってないのぉ。福山城も勿論随分行ってないのだが…。

_ 端午の節句

IMG_0426
IMG_0426 posted by (C)ひかぞぉ
ケーキと柏餅を食べました。ケーキに乗っかっているKiwiは、鯉のぼりの鱗を模したとのこと(相方作。

IMG_0427
IMG_0427 posted by (C)ひかぞぉ
菖蒲湯に入りました。これで勝負強くなって欲しいものです。

本日のツッコミ(全4件) [ツッコミを入れる]
_ (2008-05-05 22:13)

鯛網のからくりを探ろうと海面に目を凝らしてみたのだが,尻尾はつかめなかったよ.あらかじめ網で囲ってあるか,網を下ろした後で船から放すか,可能性としては二つと読んでいたのだが.

_ bouno (2008-05-05 22:49)

お節句おめでとうございます。<br>柏餅は食べましたが菖蒲は買い忘れました。…食い気ばかりでして…。

_ ひかぞぉ (2008-05-06 18:08)

鯛網のカラクリってどうじゃったかのぉ。<br>色々と伝聞では聞いたが、わしも実際には1回程度しか参加してないからのぉ。<br>まぁいまの瀬戸内海では自然な環境の状況において、現実的ではないような獲れる量ではあるの。

_ ひかぞぉ (2008-05-06 18:08)

bounoさん、どもありがとうなのです。<br>柏餅はよんよんは食べなかったですよ。(主役なのにー)<br>ひかぞーは給食でも食べたそうです。<br>bounoさんのGWは如何でしたか?



2002|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|
«前の日記(2008-05-04) 最新 次の日記(2008-05-06)» 編集