【FLASK + PYTHON】DBにユーザー登録

PYTHON

FLASKの環境で、データベースにユーザー登録するプログラムです。

メインファイル

main.pyとして保存します。

from flask import Flask, render_template, request
import sqlite3
import os.path

app = Flask(__name__)


@app.route('/')
def index():
    return render_template('index.html')


@app.route('/add', methods=['POST'])
def add():
    id = request.form['id']
    name = request.form['name']
    email = request.form['email']

    conn = sqlite3.connect('users.db')
    c = conn.cursor()
    c.execute("INSERT INTO users (id, name, email) VALUES (?, ?, ?)",
              (id, name, email))
    conn.commit()
    conn.close()

    return '登録完了'


if __name__ == '__main__':
    if not os.path.isfile(users.db'):
        conn = sqlite3.connect('users.db')
        c = conn.cursor()
        c.execute('''CREATE TABLE users
                     (id INTEGER PRIMARY KEY, name TEXT, email TEXT)''')
        conn.commit()
        conn.close()

    app.run(debug=True)

データベースが存在していなければ、作成しています。

登録画面 index.html

ユーザー登録する画面になります。templatesのフォルダに保存します。

<!DOCTYPE html>
<html>
  <head>
    <title>ユーザー登録</title>
  </head>
  <body>
    <h1>ユーザー登録</h1>
    <form action="/add" method="post">
      <label for="id">ID:</label>
      <input type="number" id="id" name="id" /><br /><br />
      <label for="name">Name:</label>
      <input type="text" id="name" name="name" /><br /><br />
      <label for="email">Email:</label>
      <input type="email" id="email" name="email" /><br /><br />
      <input type="submit" value="Add User" />
    </form>
  </body>
</html>
PYTHON
スポンサーリンク
シェアする
フォローする
タイトルとURLをコピーしました