I'm currently working on a project using Flask and Google App Engine. Calling get_flashed_messages()
returns empty when I flash a message then use a redirect()
:
@views.route('/todo/add', methods=["POST"])
def add_todo():
flash('hey')
return redirect(url_for('todo_list'))
However, if I comment out
# SERVER_NAME = 'localhost'
then it seems to work fine. My problem is that I have to use subdomains so I need SERVER_NAME to be set.
What is the deal?
I got it! The trick is to set server name to something with dots.
So 'localhost' became 'app.local' and app.local should be added to /etc/hosts, pointing to the same address as localhost.
From the docs:
did you set up cookies to work across all subdomains?
by default they are only readable on the domain that set them