Hi. I'm

Hello there! I'm Maxon, a dedicated UI/UX designer on a mission to transform digital experiences into intuitive, user-centric journeys.

Free Courses

html-icon css-icon javascript-icon c-language-icon c++-icon java-icon php-icon python-icon
Maxon

Flask Cheatsheet

 

maxoncodes.com





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 "<p>Hello, World!</p>"

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']

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.

data = 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 targetted 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

Visit the Flask SQLAlchemy documentation here