def edit_game(game_id): form = AddGameForm() if 'username' not in session: return redirect('/index') game = Game.query.filter_by(game_id=game_id).first() genres = [(i.genre_name, i.genre_name) for i in Genre.query.all()] form.genre.choices = genres publishers = [(i.pub_name, i.pub_name) for i in Publisher.query.all()] form.publisher.choices = publishers if form.validate_on_submit(): if form.image.data is not None: filename = secure_filename(form.image.data.filename) server_file = 'static/img/game_images/' + filename form.image.data.save(server_file) game_image = Image.open(server_file) game_image = game_image.resize((300, 159), Image.ANTIALIAS) game_image.save(server_file) else: filename = 'unknown_game.jpg' game.game_name = form.game_name.data game.genre = form.genre.data game.description = form.description.data game.system_req = form.system_req.data game.price = form.price.data game.languages = ', '.join(form.languages.data) game.game_year = form.game_year.data game.count = form.count.data game.image = filename game.publisher = form.publisher.data db.session.commit() return redirect('/admin_games') '''Устанавливаем дефолтные значения полей''' form.genre.data = game.genre form.game_name.data = game.game_name form.description.data = game.description form.system_req.data = game.system_req form.price.data = game.price form.game_year.data = game.game_year form.count.data = game.count form.languages.data = game.languages.split(',') form.publisher.data = game.publisher return render_template("edit_game.html", title='Редактирование игры', form=form, username=session['username'], image=game.image)
def add_game(): """ Страница предназначенная для добавления игр в магазин администратором """ if 'username' not in session: return redirect('/login') if session['username'] != 'admin': return redirect('/index') form = AddGameForm() genres = [(i.genre_name, i.genre_name) for i in Genre.query.all()] publishers = [(i.pub_name, i.pub_name) for i in Publisher.query.all()] form.genre.choices = genres form.publisher.choices = publishers if form.validate_on_submit(): if form.image.data is not None: filename = secure_filename(form.image.data.filename) server_file = 'static/img/game_images/' + filename form.image.data.save(server_file) game_image = Image.open(server_file) game_image = game_image.resize((300, 159), Image.ANTIALIAS) game_image.save(server_file) else: filename = 'unknown_game.jpg' game = Game(game_name=form.game_name.data, genre=form.genre.data, description=form.description.data, system_req=form.system_req.data, price=form.price.data, languages=', '.join(form.languages.data), game_year=form.game_year.data, image=filename, count=form.count.data, publisher=form.publisher.data) if Game.query.filter_by(game_name=game.game_name).first(): flash('Игра с таким названием уже существует', 'warning') else: db.session.add(game) db.session.commit() return redirect('/index') return render_template("add_game.html", title='Добавление игры', form=form, username=session['username'])