Добрый день, пишу с "маленькой" проблемкой, мне нужно оформить вход юзера на сайт с кэшированием его данных. У меня есть код, в нём я использую
Flask-MySQL
,
Flask-Cache
, так же использую модуль
Memcached
. Вот код, будут идеи как его улучшить?
@submit_blueprint.route('/submit', methods = ['GET', 'POST'])
def submit():
# с самого начала я смотрю сессию
if not session.get('admin'):
#тут я их на всякий случай чищу
session.clear()
#тут создаю соединение с бд, а также создаю курсор
cur = db.connect().cursor()
#проверяю HTTP метод
if request.method == 'POST':
#тут получаю информацию с полей на фронтэнде
login = request.form['login']
password = request.form['password']
#выбираю нужные поля из бд и если информация с полей ввода совпадает то получаю ид
cur.execute('''SELECT id FROM user WHERE login=%s and password=%s''', (login, password))
#тут я химичил с минималистичностью кода
get = cur.fetchone()
if get:
#тут по-идеи я должен получить данные юзера по ид и сохранить в кэш,
#но так как я "похимичил" это стало невозможно, и это и есть проблема
reg = re.compile('[^a-zA-Z ]')
cache.set('get', reg.sub('',str(get)))
session['admin'] = True
cur.close()
return redirect('/admin')
else:
return redirect('/admin')
return render_template('pages/admin_submit.html', title = 'Sign In!')