Flask Cheat Sheet
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']
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 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
Visit the Flask SQLAlchemy documentation here.