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