def change_info(): if "userid" not in session: return redirect('/login') form = ChangeInfoForm() if form.password_hash.data: password_hash = generate_password_hash(form.password_hash.data) else: password_hash = '' keys = {'user_name': form.user_name.data, 'password_hash': password_hash} users = UsersModel(db.get_connection()) if form.validate_on_submit(): if not users.get_by_name(form.user_name.data): if form.main_photo.data != '': f = request.files['main_photo'] save_filename, thmb_filename = save_file(f) users.update_user_info(session['userid'], 'main_photo', thmb_filename) for key in keys: if keys[key] != '': users.update_user_info(session['userid'], key, keys[key]) return redirect('/') else: form.username.errors.append( 'Пользователь с таким именем уже существует') user_data = users.get(session['userid']) user_info = {'username': user_data[1], 'main_photo': user_data[4]} return render_template('project_change_info.html', form=form, user_info=user_info, sess_info=user_info)
def user_page(username): if "userid" not in session: return redirect('/login') posts = PostsModel(db.get_connection()) users = UsersModel(db.get_connection()) subs = SubsModel(db.get_connection()) userid = users.get_by_name(username)[0] all_posts = [] for i in posts.get_all(userid): all_posts.append({ 'pub_date': datetime.fromtimestamp(i[5]).strftime('%d.%m.%Y %H:%M'), 'title': i[1], 'thumb': i[3], 'userid': i[4], 'pid': i[0] }) user_data = users.get(userid) user_info = { 'username': user_data[1], 'main_photo': user_data[4], 'subscribed': subs.check_subscribed(session['userid'], userid), 'userid': user_data[0] } user_data = users.get(session['userid']) sess_info = {'username': user_data[1], 'main_photo': user_data[4]} return render_template('project_index.html', title='Instagram', posts=all_posts, user_info=user_info, sess_info=sess_info)
def search_user(self): username = self.search_line.text() users = UsersModel(self.db.get_connection()) user = users.get_by_name(username) if not user: self.warning.setText('Пользователя с таким именем не существует.') else: self.warning.setText('') self.current_page = user self.show_page()
def register(): form = RegisterForm() if form.validate_on_submit(): users = UsersModel(db.get_connection()) if not users.get_by_name(form.username.data): hashed_password = generate_password_hash(form.password.data) users.insert(form.username.data, hashed_password) flash('Спасибо за регистрацию', 'success') return redirect('/login') else: form.username.errors.append( 'Пользователь с таким именем уже существует') return render_template('project_register.html', title='Instagram', form=form, user_info={'userid': 0})