Implement session with beaker

This commit is contained in:
Dita Aji Pratama 2024-06-13 12:43:46 +07:00
parent 3a7027bd3e
commit 8760144735
5 changed files with 20 additions and 5 deletions

0
.beaker/data/.noremove Normal file
View File

5
.gitignore vendored
View File

@ -1 +1,6 @@
**/__pycache__ **/__pycache__
*.pyc
venv/
env/
.beaker/data/*
!.beaker/data/.noremove

View File

@ -4,8 +4,14 @@ reloader = False
debug = False debug = False
server = 'gunicorn' # default = 'wsgiref' server = 'gunicorn' # default = 'wsgiref'
session_opts = {
'session.type': 'file',
'session.cookie_expires': 5*60, # Session expiration in seconds: minutes*seconds
'session.data_dir': './beaker/data',
'session.auto': True
}
# cors # cors
# session
# error page 403 # error page 403
# error page 404 # error page 404

View File

@ -6,7 +6,8 @@
# You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/. # You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.
import sys import sys
from bottle import Bottle, run from bottle import Bottle, run
from beaker.middleware import SessionMiddleware
import handler import handler
@ -18,6 +19,8 @@ app = Bottle()
app.merge(handler.app) app.merge(handler.app)
app.merge(staticdir.app) app.merge(staticdir.app)
app = SessionMiddleware(app, server.session_opts)
run(app, run(app,
host = server.host, host = server.host,
port = server.port, port = server.port,

View File

@ -1,5 +1,6 @@
sudo apt-get install -y python3-pip sudo apt-get install -y python3-pip
pip install --upgrade pip pip install --upgrade pip
pip install bottle pip install bottle # Micro Framework
pip install gunicorn pip install gunicorn # WSGI Server Backend
pip install mako pip install beaker # Session & caching library
pip install mako # Template library