Если мое творение упростить до самого принципа: нажатие кнопки на странице изменяет глобальную переменную (+= 1). И все у меня получалось и работало (на сервере Flask'а), пока не надумал посмотреть на другом браузере. Оказалось, что эта переменная общая для всех браузеров и измения в одном видны в другом…
Вопрос такой - как делаются подсчеты результатов в играх и т.п. отдельно для каждого юзера, каким образом каждый видит свои циферки? Я думал, что этим займется session Flask'а…
Если рассказал не очень понятно, вот пример:
# configuration
DEBUG = True
SECRET_KEY = 'sloi,52za Sloem-i_t;d'
app = Flask(__name__)
app.config.from_object(__name__)
dlya_vhoda = ['pervyj', 'vtoroj', 'tretij']
result = 0
@app.route('/')
def ind():
return render_template('index_su.html')
@app.route('/login', methods=['GET', 'POST'])
def login():
'''Вход'''
error = None
if request.method == 'POST':
if request.form['kod'] not in dlya_vhoda:
error = u"Пароль недействительный"
else:
session['logged_in'] = True
return redirect('/glavnaya')
return render_template('index_su.html', error=error)
@app.route('/glavnaya', methods=['POST', 'GET'])
def plus_odin():
'''Глобальную переменную "result" увеличивает на 1'''
global result
result += 1
return render_template('/glavnaya.html', result=result)
Спасибо!