Flask SQLAlchemy




 Sqlalchemy

Sqlalchemy

  • Flask SQLAlchemy is an ORM tool.
  • It is establishes the relationship between the objects and the tables of the relational databases.
  • The object-relational mapping is the technique of storing python objects into the database tables without writing the raw SQL queries.

Install flask-sqlalchemy:

  • Using pip installer, we must need to install flask-sqlalchemy. $ pip install flask-sqlalchemy
  • To confirm the installation, We need to import the module on the python shell. If it is successfully imported, the installation is successful. $ import flask_sqlalchemy

Creating a small web application using flask-sqlalchemy

Here we will create a CRUD Application in python using ORM SQLAlchemy.

Sample Code

add.html

<!DOCTYPE html>  
<html>  
   <body>  
      <h3>Add new Employee</h3>  
      <hr/>  
        
      {%- for category, message in get_flashed_messages(with_categories = true) %}  
         <div class = "alert alert-danger">  
            {{ message }}  
         </div>  
      {%- endfor %}  
        
      <form action = "{{ request.path }}" method = "post">  
         <label for = "name">Name</label><br>  
         <input type = "text" name = "name" placeholder = "Name" /><br>  
   
         <label for = "salary">Salary</label><br>  
         <input type = "text" name = "salary" placeholder = "salary" /><br>  
           
         <label for = "age">Age</label><br>  
         <textarea name = "age" placeholder = "age"></textarea><br>  
           
         <label for = "PIN">Pin</label><br>  
         <input type = "text" name = "pin" placeholder = "pin" /><br>  
           
         <input type = "submit" value = "Submit" />  
      </form>  
   </body>  
</html>  

list_employees.html

<!DOCTYPE html>  
<html lang = "en">  
   <head><title>Home</title></head>  
   <body>  
      <h3>  
         <a href = "{{ url_for('list_employees') }}">Employee Management System</a>  
      </h3>  
        
      <hr/>  
      {%- for message in get_flashed_messages() %}  
         {{ message }}  
      {%- endfor %}  
          
      <h3>Employees List</h3>  
      <table border="2" padding = "5">  
<thead>              <tr>  
               <th>Name</th>  
               <th>Salary</th>  
               <th>Age</th>  
               <th>Pin</th>  
            </tr>  
         </thead>  
  
         <tbody>  
            {% for employee in Employees %}  
               <tr>  
                  <td>{{ employee.name }}</td>  
                  <td>{{ employee.salary }}</td>  
                  <td>{{ employee.age }}</td>  
                  <td>{{ employee.pin }}</td>  
               </tr>  
            {% endfor %}  
         </tbody>  
      </table>  
      <br><br>  
      <a href="{{ url_for('addEmployee') }}">Add New Employee</a>  
   </body>  
</html>  

app.py

from flask import Flask, request, flash, url_for, redirect, render_template  
from flask_sqlalchemy import SQLAlchemy  
  
app = Flask(__name__)  
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///employees.sqlite3'  
app.config['SECRET_KEY'] = "secret key"  
  
db = SQLAlchemy(app)  
  
class Employees(db.Model):  
   id = db.Column('employee_id', db.Integer, primary_key = True)  
   name = db.Column(db.String(100))  
   salary = db.Column(db.Float(50))  
   age = db.Column(db.String(200))   
   pin = db.Column(db.String(10))  
  
   def __init__(self, name, salary, age,pin):  
      self.name = name  
      self.salary = salary  
      self.age = age  
      self.pin = pin  
 
@app.route('/')  
def list_employees():  
   return render_template('list_employees.html', Employees = Employees.query.all() )  
 
@app.route('/add', methods = ['GET', 'POST'])  
def addEmployee():  
   if request.method == 'POST':  
      if not request.form['name'] or not request.form['salary'] or not request.form['age']:  
         flash('Please enter all the fields', 'error')  
      else:  
         employee = Employees(request.form['name'], request.form['salary'],  
            request.form['age'], request.form['pin'])  
           
         db.session.add(employee)  
         db.session.commit()  
         flash('Record was successfully added')  
         return redirect(url_for('list_employees'))  
   return render_template('add.html')  
  
if __name__ == '__main__':  
   db.create_all()  
   app.run(debug = True)  
 Employe Management System

Employe Management System

  • Click on the link Add new Employee
 Add New Employee

Add New Employee

  • Click on Submit, and we will see the newly added employee in the list on the home page.
 Added

Added Employee

If you want to learn about Python Course , you can refer the following links Python Training in Chennai , Machine Learning Training in Chennai , Data Science Training in Chennai , Artificial Intelligence Training in Chennai



Related Searches to Flask SQLAlchemy

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add wikitechy.com to your ad blocking whitelist or disable your adblocking software.

×