Flask Cheatsheet

Importing Flask

  
from flask import Flask
  
  

Most Used Import Functions

These are some of the most used import functions by Flask developers:

  
from flask import Flask, render_template, redirect, url_for, request
  
  

Boilerplate Code

This is the basic template or barebone structure of a Flask app:

  
from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_world():
    return "

Hello, World!

" app.run()

Creating a Route

This is to make different endpoints in our Flask app:

  
@app.route("/")
  
  

Setting Allowed Methods

Used to specify which methods are allowed for a request. Allowing GET and POST requests on an endpoint:

  
methods = ['GET', 'POST']
  
  
  
print("\xhh")
  
  

Re-run While Coding

This is used to automatically rerun the program when the file is saved:

  
app.run(debug=True)
  
  

Change Host

This is used to change the host:

  
app.run(host='0.0.0.0')
  
  

Change Port

This is used to change the port:

  
app.run(port=80)
  
  

Importing SQLAlchemy

  
from flask_sqlalchemy import SQLAlchemy
  
  

Database URI

This is the database’s address:

  
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://username:password@localhost/db_name'
  
  

or

  
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
  
  

Initialization

This is used to initialize SQLAlchemy:

  
db = SQLAlchemy(app)
  
  

Creating a Model

Class used to get data from the database and to send data to the database:

  
class TableName(db.Model): 
    column_1 = db.Column(db.Integer, primary_key=True)
    column_2 = db.Column(db.String(80), nullable=False)
    column_3 = db.Column(db.String(12), nullable=False)
  
  

Get All Data - all() Method

This is used to get all the data from the database:

  code1data = ClassName.query.filter_by().all()
  
  

Filtered Data - first() Method

This is used to get the first dataset from the list returned by theΒ filter_byΒ function. You can get targeted data by this:

  
data = ClassName.query.filter_by().first()
  
  

Send/Add Data to Database

This is used to send/add data to the database:

  
data_to_send = ClassName(column_1=dataset1, column_2=dataset2, column_3=dataset3) 
db.session.add(data_to_send) 
db.session.commit()
  
  

Delete Data from the Database

This is used to delete data from the database:

  
data_to_send = ClassName(column_1=dataset1, column_2=dataset2, column_3=dataset3)
db.session.delete(data_to_send)
db.session.commit()
  
  

Request Method

This is used to know what request is made (GET/POST):

  
request.method
  
  

Render Template

This is used to pass and render an HTML file directly:

  
render_template("file.html")
  
  

Solving FSADeprecationWarning

SQLALCHEMY_TRACK_MODIFICATIONSΒ allows you to disable the modification tracking system using this line:

  
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False

  

Creating Database Files

This is used to create database files:

  
from yourapplicationname import db 
db.create_all() 
exit()

  

Method to Return Database Items

This is used to return database items:

  
def __repr__(self) -> str: 
    return f"{self.item}"

  

Printing Returned Content from the Method

This is used to print returned database items:

  
data = ClassNameWithMethod.query.all() 
print(data)

  

Flask Documentation

Visit theΒ Flask documentation here.

Flask SQLAlchemy Documentation