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>