-「Pythonをもっと使えるようになりたい」という方は多いことだろう。言え、参考書をいくら読んだとしても、それほどPythonの腕は上がらない。プログラミングというのは、実際に自分で何かを作ってみて初めて理解が進むものなのだ。いう意味では、今回のお題の「TODOアプリ」は、最適の題材だ。自作のTODOアプリを作ってレベルアップを目指そう。今回作成するTODOアプリTODOアプリとは何か?今では、非常にTODOアプリが身近になっている。スマートフォンなどに、TODOアプリやメモアプリをインストールしておけば、いつでもどこでもリストを持ち運んで見ることができるからだ。買い物に出たときに、買うべきものをTODOアプリに入力しておく。すれば、実際にお店についた時に「あれ?何を買えば良かったのだろう」と悩むことはなくなる。TODOアプリは、需要が高いので、自分で作らなくても、アプリストアを見れば、たくさんのTODOアプリを見つけることができる。言え、TODOアプリを自作するなら、Pythonの腕を磨くことができるので、脱初心者を目指して、自作のTODOアプリ作成に挑戦してみよう。自作アプリであれば、独自機能を追加することもできるので、自分の業務にぴったりになるよう育てていくこともできる。基本的な開発方針を立てようとは言え、ゼロからすべてを作るのは、なかなか大変だ。そこで、本稿では一番簡単な基本的な機能の作り方を紹介する。最初にTODOアプリをどのような形態で作成するのか考えてみよう。Pythonを使えば、デスクトップアプリからWebアプリ、前回紹介したiOS上で動くPythonistaなど、様々なアプリを作ることができる。そのため、どのような形態で動くのが良いのか考えよう。それぞれのメリット・デメリットは以下の通り。Pythonista・・メリット:iPhone/iPadで動く、持ち運べる・・デメリット:PCでは動かない機能もある今回は、パソコン・スマートフォンでも動かせるように、Webアプリにしてみようと思う。以前、43回目で紹介したように、月100円のレンタルサーバーを借りて、そこで動かすことを目標にしてみよう。TODOリストの機能を列挙しようまずは、必要な機能を列挙してみよう。いろいろなアイデが出ると思うので、とにかくやる気がでるように、気軽に面白いアイデアをどんどん出していこう。特定の日付や曜日に繰り返しTODOを自動登録する機能アイデアを列挙したら、何から機能を実装したら良いのか、優先度を付けていこう。すべての機能を最初から全部実装しようとすると、確実に途中で破綻する。そのため、最初の段階は、必要最低限の機能だけ、それができたら、少し発展的な機能というように、段階的に開発していくと良い。それで、今回は、上記のアイデアから基本的な以下の二つだけを選び出して実装することにした。二つ目の「褒める」と言うのは、メッセージを書き込んだ時に、「素晴らしい!」とメッセージを表示するというだけなので実装は簡単だ。プログラムを作ろうそれでは、基本的なTODOの機能を作ろう。今回のプログラムは、少し長いのでプログラム全体を「こちらにある57回目のプログラム」からダウンロードしよう。解凍すると、以下のような階層になっている。style.cssプログラムを実行するには、コマンドラインから以下のコマンドを実行する。以下のコマンドは、カレントディレクトリで簡易Webサーバーを起動するものだ。--cgiそれから、Webブラウザで「http://localhost:8000/cgi-bin/todo.py」にアクセスしよう。すると、TODOアプリが表示される。TODOアプリが表示されたところ画面一番下にある、TODOのテキストボックスに、メモを入力して「追加」ボタンを押すと、TODO項目が追加される。各項目の先頭にある「x」のボタンを押すと、項目が削除される。プログラムのポイントを確認しようcgi-bin/todo.pyが今回のTODOアプリのメインプログラムだ。このファイルをテキストエディタなどで開いてプログラムを確認してみよう。以下は、プログラムの基本的な動作を行う処理を抜き出したものだ。check_param()最初に、(*1)の部分でWebサーバーに送信されたデータを解析して、辞書形式で取得できるようにする。(*4)のメイン処理の部分で、(*2)のcheck_param関数を呼び出す。ここでは、URLパラメータ「m」の値に基づいて、各種関数を呼び出すようにした。最初に、このファイルにアクセスした時には、何もパラメータが指定されていないので、その場合には、項目一覧を表示する、mode_showを呼び出す。(*3)の部分では、URLパラメータに値があるかどうかを確認して、パラメータから値を取り出す。パラメータが見当たらなければ、デフォルト値を返すようにした。次に、TODO項目一覧表示と、新規追加のプログラムを確認してみよう。id='items'><p>書き込ました。out_html(s)プログラムの(*5)の部分では、TODOの一覧を表示する関数mode_showを定義している。データファイルより、項目一覧を読み出した後、for構文で順次項目をHTMLとして出力している。その際、削除ボタンを押した時に、削除を実行するURLを作成して、a要素で囲うようにした。(*6)では新規TODOを追加するmode_addを定義している。ファイルから項目一覧を取り出して、新規項目を追加した後、項目を保存する。その際、褒め言葉を表示するようにした。まとめ以上、今回は、TODOアプリを題材にして、簡単なWebアプリの作り方を紹介した。レンタルサーバーなどで、CGIとしてプログラムを動かす際には、プログラムの一行目をPythonのインストールパスに書き換えれば良い。今回、TODOを追加したときに、褒め言葉を表示するというのが、このアプリのウリとなるところだ。実際、あまり意味はないのだが、メッセージを一つ変えるだけでも、オリジナル感が出て楽しいものだ。アイデアを出して、どんどん改造していくことで、Pythonプログラミングの腕も上がっていく。レベルアップを目背している皆さん、挑戦してみよう。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。Corporation。