I have a app with flask which works before But Now I use Blueprint in it and try to run it but got the error so i wonder that is the problem Blueprint that g.user Not working? and how can I fix it Thnx :)
app/layout/__ init __.py :
from flask import Blueprint
layout = Blueprint('layout', __name__)
from . import view
__ init __ .py
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager
import psycopg2
from config import basedir
from config import configapp = Flask(__name__)
app.config.from_object('config')
db = SQLAlchemy()
lm = LoginManager()
lm.init_app(app)
lm.login_view = 'login'def create_app(config_name):app = Flask(__name__)app.config['DEBUG'] = Trueapp.config.from_object(config[config_name])db.init_app(app)from .layout import layout as appr_blueprint# register our blueprintsapp.register_blueprint(appr_blueprint)return app
view.py:
@layout.before_request def before_request():g.user = current_user @layout.route('/login', methods = ['GET', 'POST']) def login():form = LoginForm()#checks if the user is authernticated#or not, if yes it skips authentfic.if current_user is not None and current_user.is_authenticated():return redirect(url_for('user'))#does not allow user to use get methodif request.method == 'GET':return render_template('login.html',form = form,title = 'Login')#taking the user submitted data and checking if it exists in the databaseuser_in_db = User.query.filter_by(name=form.name.data.lower()).first()#if the username is not wrongif user_in_db is not None and user_in_db != False:if form.email.data != user_in_db.email:flash('Email is incorrect')return redirect(url_for('login'))login_user(user_in_db)return redirect(url_for('user',page=1,sortby='normal'))else:flash('Username does not exists')return render_template('login.html',form = form,title = 'Login')
base.html:
<div id="bodyAll"><div class="navbar navbar-inverse navbar-fixed-top"><div class="container-fluid"><ul class="nav navbar-nav"><li id="logo"><a href="{{ url_for('layout.home') }}"><span id="globe"class="glyphicon glyphicon-home"></span>Home</a></li><li id="logo"><a href="{{ url_for('layout.new') }}"><span id="globe"class="glyphicon glyphicon-plus"></span>Add Monkey</a></li><li><a href="{{ url_for('layout.user',page = '1', sort = 'normal', monkey = monkey) }}"><span class="glyphicon glyphicon-tree-deciduous"></span>Jungle</a></li>{% if current_user.is_authenticated() %} //**Got error here**<li><a href="#"><span class="glyphicon glyphicon-user"></span>{{g.user.name.capitalize()}}</a></li>{% endif %}