Views are all in located in the modules package, which contains blueprints Also, use alert-warning instead of alert-error for Bootstrap3master
parent
0f142a65e8
commit
3a411b4abe
@ -0,0 +1 @@ |
||||
'''Blueprint modules for {{cookiecutter.repo_name}}.''' |
@ -0,0 +1,14 @@ |
||||
# -*- coding: utf-8 -*- |
||||
'''Members-only module, typically including the app itself. |
||||
''' |
||||
from flask import Blueprint, render_template |
||||
from {{cookiecutter.repo_name}}.utils import login_required |
||||
|
||||
blueprint = Blueprint('member', __name__, |
||||
static_folder="../static", |
||||
template_folder="../templates") |
||||
|
||||
@blueprint.route("/members/") |
||||
@login_required |
||||
def members(): |
||||
return render_template("members.html") |
@ -0,0 +1,22 @@ |
||||
# -*- coding: utf-8 -*- |
||||
'''Helper utilities and decorators.''' |
||||
from flask import session, flash, redirect, url_for |
||||
from functools import wraps |
||||
|
||||
def flash_errors(form): |
||||
'''Flash all errors for a form.''' |
||||
for field, errors in form.errors.items(): |
||||
for error in errors: |
||||
flash("Error in the {0} field - {1}" |
||||
.format(getattr(form, field).label.text, error), 'warning') |
||||
|
||||
def login_required(test): |
||||
'''Decorator that makes a view require authentication.''' |
||||
@wraps(test) |
||||
def wrap(*args, **kwargs): |
||||
if 'logged_in' in session: |
||||
return test(*args, **kwargs) |
||||
else: |
||||
flash('You need to log in first.') |
||||
return redirect(url_for('home')) |
||||
return wrap |
Loading…
Reference in new issue