コード例 #1
0
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)
コード例 #2
0
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'])