Python初心者がbottle.pyでリドルゲームを作ってみた。その2

公開日: : bottle.py, Python

前回に続いてリドル作っていきますよ!

ちなみに、前回載せた完成形のページ作るのには3時間くらいかかりました。

 

 

前回までのあらすじ

0.適当に作業フォルダ作る

1.bottle.pyをダウンロード

2.ダウンロードしたフォルダ内にviewsディレクトリを作る。

3.viewsディレクトリの中に.tplファイルを作る

 

本題 今日やること

0..tplを作る(2個ほど)

1.ルーティングの処理を書く

2.条件によって表示する内容を変える

 

実際にやってみた

riddle.py(bottle.pyと同じ階層)

Screen Shot 2014-03-03 at 23.32.39

 

 

views/exam.tlp

Screen Shot 2014-03-03 at 23.35.20

 

 

views/examanswer.tlp

Screen Shot 2014-03-03 at 23.37.29

 

よく解らない解説

http://riddle.millay-diary.info/exam から一部抜粋してます。

イメージは、

1.ユーザが/examへアクセス

2.11行目から16行目の処理が読まれてexam.tplが呼び出される

3.ユーザが/exam内の入力フォームに答えを入れてsubmit

4.16行目から19行目の処理が呼び出されて、6行目から9行目に宣言しといたメソッドで答えが正しいか判断してflagを返す

5.examanswer.tplが呼び出されて、flagの内容によって正解or不正解ページのHTMLを出力

こんな感じでしょうか。

@viewが読み込む.tplファイルの指定、@routeと@postでアクセスに対する処理を定義ってところですかね。

defするメソッド名はアクセスされるURLと同じがいいみたいです!ので今回はviewファイルも含めてそれぞれ同じ名前にしてます。

 

ちなみに.tplファイル内は普通にHTMLがかけるので、

背景と文字色を同じにして隠し文字を作りたいとか、隠れたフレームを作りたいとかは直接viewファイルに書いて実装しちゃいましょう!

 

 

bottle.py使ってみた感想

案外覚えること少ないわりに、

基本的なことはある程度出来たので個人的には大満足です。

bottle使おうと色々ぐぐってたら

O/Rマッパーとか別のところから持ってきてWebアプリ作ってみた人もいるみたいですね〜

今回はそこまで気力わかなかったですが、いつかやってみよっかなーと思います。いつか。

 

・・・Pythonの勉強にはあまりならなかった気がする。(?

(htmlとpythonコード汚いのは仕様です)

 

関連記事

no image

Python初心者がbottle.pyでリドルゲームを作ってみた。その1

やっぱり何か作らないとプログラミングは上達しないですよね。 そんなわけで、前回に引き続きbottl

記事を読む

no image

Python初心者がbottle.pyでWebアプリを作ってみる。準備段階

次の日が祝日だと何でも出来る気になりますよね。 なので私はPythonのお勉強でもしますよ!!

記事を読む

no image

PythonでSlideShareのAPIいじってみた

今日はSlideShareのAPIをPythonでいじってみました。 とりあえず検索ワードに対

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

no image
学生時代に1ミリも知らなかったJavaの開発風景

※この記事は、苫小牧高専 Advent Calendar 2016 -

no image
gitbucketで再起動に失敗してDBエラーが起きた話

とあるAdvent calendarを書くことになったのですが、そもそ

no image
機械学習について簡単におさらいした

機械学習について、実際あんまりよくわかってなくね?ってなったので

no image
svnを使っている作業場でgitを普及させるためにやったこと

今回は、ある作業場でgitを普及させたい!という思いから、私が個人的に

no image
jenkinsのジョブでIllegalArgumentExceptionが起きた

Jenkinsのジョブで、 java.lang.IllegalArgu

→もっと見る

PAGE TOP ↑