more struture and codes for application
This commit is contained in:
56
app/views/login.py
Normal file
56
app/views/login.py
Normal file
@@ -0,0 +1,56 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from flask import request, redirect, render_template, url_for, flash
|
||||
from flask.ext.login import (LoginManager, login_required,
|
||||
login_user, logout_user, UserMixin)
|
||||
|
||||
from app import app
|
||||
from app.libs.forms import FormLogin
|
||||
import app.models as modelos
|
||||
|
||||
# flask-login - Configurações de Autenticação:
|
||||
login_manager = LoginManager()
|
||||
login_manager.setup_app(app)
|
||||
login_manager.login_view = "login"
|
||||
|
||||
class User(UserMixin):
|
||||
def __init__(self, name, id, active=True):
|
||||
self.name = name
|
||||
self.id = id
|
||||
self.active = active
|
||||
|
||||
def is_active(self):
|
||||
return self.active
|
||||
|
||||
@login_manager.user_loader
|
||||
def load_user(id):
|
||||
usuario = modelos.Usuario.query.get(int(id))
|
||||
return User(usuario.login, usuario.id)
|
||||
|
||||
login_manager.setup_app(app)
|
||||
|
||||
@app.route('/login', methods=['GET', 'POST'])
|
||||
def login():
|
||||
form = FormLogin(request.form)
|
||||
if request.method == 'POST' and form.validate():
|
||||
_login = request.form['login']
|
||||
_senha = request.form['senha']
|
||||
|
||||
_em_db = modelos.Usuario.query.filter_by(login = _login).first()
|
||||
if (_em_db):
|
||||
if ( _login == _em_db.login and _senha == _em_db.senha):
|
||||
login_user(User(_em_db.login, _em_db.id))
|
||||
redirect(request.args.get("next") or url_for("index"))
|
||||
else:
|
||||
flash(unicode("Senha Invalida", "UTF-8"))
|
||||
return render_template("login.html", form=form)
|
||||
else:
|
||||
flash(unicode("Usuário não existe", "UTF-8"))
|
||||
return render_template("login.html", form=form)
|
||||
|
||||
@app.route('/logout')
|
||||
@login_required
|
||||
def logout():
|
||||
""" Define a remoção da sessão do usuário """
|
||||
logout_user()
|
||||
return redirect('/')
|
||||
8
app/views/main.py
Normal file
8
app/views/main.py
Normal file
@@ -0,0 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from flask import render_template
|
||||
from app import app
|
||||
|
||||
@app.route("/")
|
||||
def index():
|
||||
return render_template('principal.html')
|
||||
Reference in New Issue
Block a user