File: app.py

package info (click to toggle)
flask-paranoid 0.3.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 256 kB
  • sloc: python: 273; makefile: 13
file content (35 lines) | stat: -rw-r--r-- 988 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from flask import Flask, render_template, request, redirect
from flask_paranoid import Paranoid
from flask_login import LoginManager, UserMixin, login_user, logout_user, \
    current_user

app = Flask(__name__)
app.config['SECRET_KEY'] = 'top-secret!'
login_manager = LoginManager(app)
paranoid = Paranoid(app)
paranoid.redirect_view = '/'


class User(UserMixin):
    def __init__(self, username):
        self.id = username


@login_manager.user_loader
def load_user(id):
    return User(id)


@app.route('/', methods=['GET', 'POST'])
def index():
    if request.method == 'POST':
        if request.form.get('username'):
            remember = request.form.get('remember_me') is not None
            login_user(User(request.form.get('username')), remember=remember)
        else:
            logout_user()
        return redirect('/')
    else:
        return render_template(
            'index.html', username=current_user.id 
            if current_user.is_authenticated else None)