How to use Bootstrap with Flask
Open-source Flask project enhanced with session-based authentication via Flask-Login
and a simple UI powered by Bootstrap
. For newcomers Flask is a popular web framework used to code from simple one-page websites to complex eCommerce solutions and Bootstrap is the most popular JS/CSS framework.
- β
Up-to-date dependencies
- β
Authentication layer:
Flask-Login
- β UI: Bootstrap 5
- Versions:
- v0.0.1 - minimal version styled with simple Bootstrap 5 Components
- v0.0.2 - version that integrated Pixel Lite design
- Flask Pixel Lite - a complete starter with more features
π Step #1 - Clone sources (this repo)
$ git clone https://github.com/app-generator/flask-how-to-use-with-bootstrap.git
$ cd flask-how-to-use-with-bootstrap
π Step #2 - Create a virtual environment
$ # Virtualenv modules installation (Unix based systems)
$ virtualenv env
$ source env/bin/activate
$
$ # Virtualenv modules installation (Windows based systems)
$ # virtualenv env
$ # .\env\Scripts\activate
π Step #3 - Install dependencies
$ # Install requirements
$ pip3 install -r requirements.txt
π Step #4 - Set Up Environment
$ # Set the FLASK_APP environment variable
$ (Unix/Mac) export FLASK_APP=run.py
$ (Windows) set FLASK_APP=run.py
$ (Powershell) $env:FLASK_APP = ".\run.py"
π Step #5 - Create Tables (SQLite persistance)
$ # Create tables
$ flask shell
$ >>> from app import db
$ >>> db.create_all()
π Step #6 - (optional) Enable DEBUG Environment (local development)
$ # Set up the DEBUG environment
$ # (Unix/Mac) export FLASK_ENV=development
$ # (Windows) set FLASK_ENV=development
$ # (Powershell) $env:FLASK_ENV = "development"
π Step #7 - Start the project
$ # Run the application
$ # --host=0.0.0.0 - expose the app on all network interfaces (default 127.0.0.1)
$ # --port=5000 - specify the app port (default 5000)
$ flask run --host=0.0.0.0 --port=5000
$
$ # Access the app in browser: http://127.0.0.1:5000/
The project has a super simple structure, represented as bellow:
< PROJECT ROOT >
|
|-- app/
| |-- static/
| | |-- <css, JS, images> # CSS files, Javascripts files
| |
| |-- templates/
| | |
| | |-- index.html # Index File
| | |-- login.html # Login Page
| | |-- register.html # Registration Page
| |
| |
| config.py # Provides APP Configuration
| forms.py # Defines Forms (login, register)
| models.py # Defines app models
| views.py # Application Routes
|
|-- requirements.txt
|-- run.py
|
|-- ************************************************************************
- Free Admin Dashboards - index provided by AppSeed
- Flask User Authentication - blog article
- Flask Social Login - blog article (includes a free sample)
How to use Bootstrap with Flask - Free sample provided by AppSeed App Generator.