from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
db = SQLAlchemy(app)
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(80), unique=True, nullable=False)
@app.route('/')
def index():
users = User.query.all()
return render_template('index.html', users=users)
@app.route('/add_user', methods=['POST'])
def add_user():
username = request.form['username']
new_user = User(username=username)
db.session.add(new_user)
db.session.commit()
return redirect(url_for('index'))
@app.route('/update_user/<int:user_id>', methods=['POST'])
def update_user(user_id):
user = User.query.get(user_id)
new_username = request.form['new_username']
user.username = new_username
db.session.commit()
return redirect(url_for('index'))
@app.route('/delete_user/<int:user_id>')
def delete_user(user_id):
user = User.query.get(user_id)
db.session.delete(user)
db.session.commit()
return redirect(url_for('index'))
if __name__ == '__main__':
db.create_all()
app.run(debug=True)