web.py-シンプルで強力なPython Webフレームワーク(5):Webページの読み取りと書き込み


データベースの使用を開始する前に、適切なデータベース・アクセス・ライブラリがインストールされていることを確認します.たとえばMySQLデータベースではpymysqlクライアントを使用して接続します.
pymysqlインストール:
pip install pymysql

简単に
次に、まずデータベース・オブジェクトを作成する必要があります.
db = web.database(dbn='postgres', user='username', pw='password', db='dbname')

(必要に応じて、ここを変更します.特にusername、password、dbname.MySQLユーザーはdbn定義をmysqlに変更する必要があります.)
必要なことはすべてWebですpyは、データベースへの接続と切断を自動的に処理します.
データベース管理ツールを使用して、データベース・ライブラリに簡単なテーブルを作成します.
CREATE TABLE todo (
  id serial primary key,
  title text,
  created timestamp default now(),
  done boolean default 'f'    );
INSERT INTO todo (title) VALUES ('Learn web.py');

戻って編集を続けますpy、index.getは次のように変更し、関数全体を置き換えます.
def get(self):
    todos = db.select('todo')
    return render.index(todos)

URLリストを次のように変更します.
urls = (
    '/', 'index'
)

以下のように編集して置き換える.htmlのすべての内容:
$def with (todos)
    $for todo in todos:
  • $todo.title

またサイトにアクセスすると「Learn web.py」が表示されます.データベースからデータを読み込むプログラムは成功しました.
宝を洗う上で次の注文をする时、あなたが选んだ商品、种类などの内容をホームページを通じてWEBサーバーに提出して、それからWEBサーバーはバックグラウンドプログラムを呼び出して、これらのデータをデータベースに书いて、それによって1つの注文を生成して、それから商店は更にこのデータを通じて出荷します.ページからデータを提出し、データベースに書き込むプロセスは、基本的に現在のウェブサイト開発の基本的なプロセスとなっていることがわかります.
それから私たちは同じようにデータベースにデータを書き込むことができるプログラムを書きました.htmlファイルの末尾に追加:


URLマッピングを以下のように変更します.
urls = (
    '/', 'index',
    '/add', 'add'
    )

次に、別のクラスを追加する必要があります.add:
class add:
    def POST(self):       #            post
        i = web.input()       #web.input           form       。
        n = db.insert('todo', title=i.title)   #db.insert        todo,           。
	    raise web.seeother('/')       #seeother          URL。

注:同じ名前の複数のフィールドにアクセスする場合は、listのフォーマット(たとえば、name="name"の列の複数選択ボックス):post_data=web.input(name=[])を使用します.
補足:URLリダイレクト(URL redirection、またはURLリダイレクトまたはネットワークドメイン名転送)とは、使用者があるURLを閲覧するときに、別のURLに導く技術を指す.