Coder Social home page Coder Social logo

hackersandslackers / flask-session-tutorial Goto Github PK

View Code? Open in Web Editor NEW
94.0 3.0 23.0 424 KB

:floppy_disk: :bow: Example Flask project for implementing Flask-Session with Redis.

Home Page: https://hackersandslackers.com/flask-user-sessions-and-redis/

License: MIT License

Python 42.82% JavaScript 1.37% Makefile 10.50% Less 20.46% Jinja 24.85%
flask flask-session redis flask-login tutorial tutorials python

flask-session-tutorial's Introduction

Flask-Session Tutorial

Python Flask Flask-Login Flask-Session Flask-SQLAlchemy Redis GitHub Last Commit GitHub Issues GitHub Stars GitHub Forks

Flask Session Redis Tutorial

Getting Started

Get set up locally in two steps:

Configure

Replace the values in .env.example with your values and rename this file to .env:

  • ENVIRONMENT: Enable (development or production).
  • FLASK_APP: Entry point of your application; should be wsgi.py.
  • FLASK_DEBUG: Toggle debug mode on (True) or off (False).
  • SECRET_KEY: Randomly generated string of characters used to encrypt your app's data.
  • SQLALCHEMY_DATABASE_URI: Connection URI of a SQL database (ie: mysql+pymysql://myuser:[email protected]:1234/mydatabase)
  • REDIS_URI: Connection URI of a Redis instance (ie: redis://:[email protected]:1234)
  • LESS_BIN (optional for static assets): Path to your local LESS installation via which lessc.
  • ASSETS_DEBUG (optional): Debug asset creation and bundling in development.
  • LESS_RUN_IN_DEBUG (optional): Debug LESS while in development.
  • COMPRESSOR_DEBUG (optional): Debug asset compression while in development.

Remember never to commit secrets saved in .env files to Github.

Installation

Get up and running with make deploy:

git clone https://github.com/hackersandslackers/flask-session-tutorial.git
cd flask-session-tutorial
make deploy

Hackers and Slackers tutorials are free of charge. If you found this tutorial helpful, a small donation would be greatly appreciated to keep us in business. All proceeds go towards coffee, and all coffee goes towards more content.

flask-session-tutorial's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar renovate-bot avatar renovate[bot] avatar toddbirchard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

flask-session-tutorial's Issues

sample .env file

Thanks for the tutorial! There are a quite a few dependencies to get this working, a sample .env file would be useful.

Action Required: Fix Renovate Configuration

There is an error with this repository's Renovate configuration that needs to be fixed. As a precaution, Renovate will stop PRs until it is resolved.

Error type: undefined. Note: this is a nested preset so please contact the preset author if you are unable to fix it yourself.

User logged-in can access to /login using browser "go back" after login success

First thanks for this.
Like specified in title,
when a user is logged-in, he can access to /login using browser "go back"
(if I refresh from "/login", redirect to "/" ok)

@auth_bp.route('/login', methods=['GET', 'POST'])
def login():
    """
    Log-in page for registered users.
    GET: Serve Log-in page.
    POST: Validate form and redirect user to dashboard.
    """
    if current_user.is_authenticated:
        print(current_user.is_anonymous)
        return redirect(url_for('main_bp.dashboard'))  # Bypass if user is logged in

When I go back (after login success) "current_user.is_authenticated" never printed like they don't go here :/
(same with the print before the if).
Can you explain please if you see something ?
Regards

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update dependency pymysql to v1.1.1
  • Update dependency werkzeug to v3.0.3
  • Update dependency typing-extensions to v4.12.0
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

pep621
pyproject.toml
  • poetry-core >=1.5.0
pip_requirements
requirements.txt
  • async-timeout ==4.0.3
  • black ==24.4.0
  • blinker ==1.7.0
  • cachelib ==0.13.0
  • click ==8.1.7
  • colorama ==0.4.6
  • cssmin ==0.2.0
  • dnspython ==2.6.1
  • email-validator ==2.1.1
  • flake8 ==7.0.0
  • flask-assets ==2.1.0
  • flask-login ==0.6.3
  • flask-session ==0.8.0
  • flask-sqlalchemy ==3.1.1
  • flask-wtf ==1.2.1
  • flask ==3.0.3
  • greenlet ==3.0.3
  • gunicorn ==21.2.0
  • idna ==3.7
  • isort ==5.13.2
  • itsdangerous ==2.1.2
  • jinja2 ==3.1.3
  • jsmin ==3.0.1
  • lesscpy ==0.15.1
  • markupsafe ==2.1.5
  • mccabe ==0.7.0
  • msgspec ==0.18.6
  • mypy-extensions ==1.0.0
  • packaging ==24.0
  • pathspec ==0.12.1
  • platformdirs ==4.2.0
  • ply ==3.11
  • pycodestyle ==2.11.1
  • pyflakes ==3.2.0
  • pymysql ==1.1.0
  • python-dotenv ==1.0.1
  • redis ==5.0.3
  • sqlalchemy ==2.0.29
  • tomli ==2.0.1
  • typing-extensions ==4.11.0
  • webassets ==2.0
  • werkzeug ==3.0.2
  • wtforms ==3.1.2
poetry
pyproject.toml
  • python >=3.10,<4.0
  • flask *
  • flask-sqlalchemy *
  • flask-login *
  • flask-assets *
  • flask-session *
  • flask-wtf *
  • pymysql *
  • redis *
  • email_validator *
  • python-dotenv *
  • werkzeug *
  • black *
  • isort *
  • lesscpy *
  • cssmin *
  • jsmin *
  • flake8 *
  • gunicorn *

  • Check this box to trigger a request for Renovate to run again on this repository

missing file main.py

Good evening
it seems there is no file main.py to execute
Could you tell me more about executing this python web app ?
Thank you
Amaury

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.