Więc mam routing przed żądaniem dla mojego modułu użytkownika. Ale teraz chcę uzyskać dostęp do g.users również z innych projektów. Znalazłem jedyny sposób, aby to zrobić, to skopiować poniższy kod do każdego pojedynczego planu.Gdzie mogę umieścić mój projekt before_request
Próbowałem umieścić go w mojej app.py na @ app.before_request, ale wtedy masz błędy, ponieważ musisz zaimportować sesję, g, User, a następnie wciąż otrzymujesz _requestglobal błędy w innych miejscach.
@app.before_request
def before_request():
g.user = None
if 'user_id' in session:
g.user = User.query.get(session['user_id']);
Jakie jest najlepsze miejsce, aby je umieścić?
dostaję dużo:
AttributeError: '_RequestGlobals' object has no attribute 'user'
'app.before_request' * powinien * działać. Czy możesz podać przykład miejsca, w którym otrzymasz 'AttributeError' podczas używania' app.before_request'? –
Cholera, najwyraźniej nie ustawiłem go w @ aplikacji, dodałem funkcję, ale zapomniałem jej użyć. Teraz wydaje się, że działa dobrze z @app w każdym schemacie. Myślałem, że inne plany tego nie widzą. – Dexter