Dash Flask Login Save

Implementation of Flask-login on top of Dash.

Project README

dash-flask-login

dash-flask-login

This is an example of Flask-login implementation on top of a Dash application for users authentication.

The example comes with users authentication through a sqlite3 database, however you can use your own database by changing the con parameter with your database URI in the config.txt file.

The example comes with the a standard username test and password test1 but you can add more users using the add_remove_users.ipynb jupyter notebook or the functions available in the users_mgt.py.

Files description:

add_remove_users.ipynb: A jupyter notebook to help creating and removing users
app.py: The app initial screen
config.py: python script to initialize the configuration included in the config.txt file
config.txt: configuration file
requirements.in: input configuration file to be used together with pip-tools
requirements.txt: configuration file generated bypip-tools
server.py: the app initialization file
users.db: sqlite3 database with user information
users_mgt.py: helper file for the user management process

Running an app locally

To run an app locally:

  1. (optional) create and activate new virtualenv:
pip install virtualenv
virtualenv venv
source venv/bin/activate
  1. pip install -r requirements.txt
  2. flask run or gunicorn wsgi:application
  3. open http://127.0.0.1:5000 in your browser or
  4. flask run --host=0.0.0.0 or gunicorn --bind 0.0.0.0:8000 wsgi:application to open for external connections

Deployng to Heroku

  1. Install Heroku CLI: https://devcenter.heroku.com/articles/heroku-cli
  2. Login to your heroku account: heroku login
  3. Create the app: heroku create
  4. Deploy to Heroku: git push heroku master
  5. Access the app via the address provided by Heroku

Contributing

PRs accepted! Please contribute if you believe this example can be improved.

Open Source Agenda is not affiliated with "Dash Flask Login" Project. README Source: RafaelMiquelino/dash-flask-login
Stars
243
Open Issues
5
Last Commit
1 year ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating