Flask App with SQLAlchemy User Management Functions

  • Share this:

Code introduction


This code defines a Flask application that uses Flask-SQLAlchemy to manage database sessions. It creates a simple user model and provides functions to add, retrieve, update, and delete user records.


Technology Stack : Flask, Flask-SQLAlchemy, SQLite

Code Type : Flask application

Code Difficulty : Intermediate


                
                    
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from random import choice

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)
    email = db.Column(db.String(120), unique=True, nullable=False)

def add_user(username, email):
    new_user = User(username=username, email=email)
    db.session.add(new_user)
    db.session.commit()

def get_user_by_username(username):
    return User.query.filter_by(username=username).first()

def update_user_email(user_id, new_email):
    user = User.query.get(user_id)
    if user:
        user.email = new_email
        db.session.commit()

def delete_user(user_id):
    user = User.query.get(user_id)
    if user:
        db.session.delete(user)
        db.session.commit()

# Flask app setup and data model for demonstration purposes
@app.route('/')
def index():
    return "Flask app with SQLAlchemy is running!"

if __name__ == '__main__':
    db.create_all()
    app.run(debug=True)