def add_product(): form = ProductsForm() if form.validate_on_submit(): db_sess = db_session.create_session() product = Products() product.title = form.title.data product.description = form.description.data product.location = form.location.data product.price = form.price.data product.is_private = form.is_private.data product.category = form.category.data #save image f = form.photo.data if f: filename = secure_filename(f.filename) f.save(os.path.join(app.config['UPLOAD_PATH'], filename)) product.photo = filename #тут через раз падает с багом lazy current_user.products.append(product) db_sess.merge(current_user) db_sess.commit() return redirect('/my_products') return render_template('product.html', title='Добавление товара', form=form)
def create_products(): session = db_session.create_session() name_images = [] for root, dirs, files in os.walk("static/img/Shop_Images/"): for filename in files: name_images.append(f'/static/img/Shop_Images/{filename}') name_files = ['Футболка с принтом всех главных героев', 'Футболка с принтом Генерала', 'Футболка с принтом Юли', 'Футболка с Главным Героем', 'Футболка с Солдатом', 'Футболка с Логотипом игры', 'Футболка с Зомби', 'Термос с Генералом', 'Термос с Юлей', 'Термос с Главным Героем', 'Термос с Доготипом игры', 'Термос с Зомби'] prices = [1599, 1299, 1299, 1349, 1299, 1199, 1299, 2199, 2199, 2349, 2149, 2299] descriptions = ['Отличная белая футболка отменного качества, с крутым принтом всех главных Героев', 'Отличная белая футболка отменного качества, с крутым принтом Генерала', 'Отличная белая футболка отменного качества, с крутым принтом Юли', 'Отличная белая футболка отменного качества, с крутым принтом Главного Героя', 'Отличная белая футболка отменного качества, с крутым принтом Солдата', 'Отличная белая футболка отменного качества, с Логотипом игры', 'Отличная белая футболка отменного качества, с крутым принтом Зомби', 'Отличный белый термос отменного качества, с крутым принтом Генерал', 'Отличный белый термос отменного качества, с крутым принтом Юли', 'Отличный белый термос отменного качества, с крутым принтом Главного Героя', 'Отличный белый термос отменного качества, с Логотипом игры', 'Отличный белый термос отменного качества, с крутым принтом Зомби. Есть крутая фича,' 'при открытии термоса, у зомби откручивается голова'] for i in range(len(name_images)): product = Products() product.header = name_files[i] product.image = name_images[i] product.description = descriptions[i] product.quantity_in_stock = randrange(0, 101) product.price = prices[i] session.add(product) session.commit()
def create_news(): if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in ['name', 'price', 'user_id']): return jsonify({'error': 'Bad request'}) db_sess = db_session.create_session() product = Products(name=request.json['name'], price=request.json['price'], user_id=request.json['user_id']) db_sess.add(product) db_sess.commit() return jsonify({'success': 'OK'})
def post(self): parser = reqparse.RequestParser() parser.add_argument('title', required=True) parser.add_argument('content', required=True) # parser.add_argument('is_published', required=True, type=bool) parser.add_argument('user_id', required=True, type=int) args = parser.parse_args() session = db_session.create_session() products = Products( title=args['title'], content=args['content'], user_id=args['user_id'], # is_published=args['is_published'], ) session.add(products) session.commit() return jsonify({'success': 'OK'})
def adding(): form = ProductsForm() print(2) if form.validate_on_submit(): db_sess = db_session.create_session() print(form.image.data) image_file = open(f'static/images/{str(form.image.data)}', "w") # image_file.write("Это текстовый файл") product = Products(name=form.name.data, price=form.price.data, image=image_file, user_id=current_user.id) print(form.name.data, form.price.data) db_sess.products.append(product) db_sess.commit() return redirect('/adding') return render_template("Adding.html", title='Добавление товара', form=form)
def return_addprod_page(): form = AddProdForm(request.form) form.cat.choices = [(cat.id, cat.title) for cat in session.query(Categories)] if request.method == 'POST': product = Products() product.title = form.prod_title.data product.content = form.prod_content.data product.price = form.price.data product.cat_id = form.cat.data f = request.files['image_file'] product.image = f.read() session.add(product) session.commit() return redirect('/shop') return render_template('addprod.html', basket_len=len(basket), form=form)
def add_products(): form = ProductsForm() if form.validate_on_submit(): session = db_session.create_session() products = Products() products.title = form.title.data products.price = form.price.data products.description = form.description.data products.user = current_user current_user.products.append(products) session.merge(current_user) session.commit() return redirect('/') return render_template('products.html', title='Добавление товара', form=form)
def add_product(): form = ProductsForm() if form.validate_on_submit(): db_sess = db_session.create_session() products = Products() products.title = form.title.data products.quantity = form.quantity.data products.price = form.price.data products.description = form.description.data products.category = form.category.data if form.photo.data: fname, fext = os.path.splitext(secure_filename(form.photo.data.filename)) filepath = os.path.join(app.root_path, 'static', "user_photos", fname + fext) while os.path.exists(filepath): fname += "_1" filepath = os.path.join(app.root_path, 'static', "user_photos", fname + fext) form.photo.data.save(filepath) products.photo_path = os.path.join('..', 'static', "user_photos", fname + fext) current_user.products.append(products) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('products.html', title='Добавление товара', form=form)
def add_news(): form = ProdForm() if form.validate_on_submit(): db_sess = db_session.create_session() prod = Products() prod.title = form.title.data prod.content = form.content.data prod.picture = form.picture.data prod.price = form.price.data current_user.news.append(prod) db_sess.merge(current_user) db_sess.commit() return redirect('/') return render_template('add_product.html', title='Добавление товара', form=form)
def add_product(): if not current_user.is_admin: return abort(403) title = 'Добавление продукта | ' + TITLE form = AddProductForm() if form.validate_on_submit(): sess = db_session.create_session() if sess.query(Products).filter(Products.name == form.name.data).first(): return render_template('add_product.html', title=title, form=form, message='Товар с таким названием уже существует') image = form.image.data filename = secure_filename(image.filename) path = os.path.join(app.root_path, 'static', 'img', 'product_images', filename) image.save(path) product = Products( name=form.name.data, price=form.price.data, about=form.about.data, specs=form.specs.data, stringed_categories=form.search_tags.data, image=url_for('static', filename=f'img/product_images/{filename}') ) for cat in form.search_tags.data.split(', '): category = sess.query(Categories).filter(Categories.name == cat).first() if not category: category = Categories( name=cat ) sess.add(category) if category not in product.categories: product.categories.append(category) sess.add(product) sess.commit() redirect('/catalog') return render_template('add_product.html', title=title, form=form)
def create_product(secret_key): if secret_key not in secret_keys: return jsonify({'error': 'wrong_secret_key'}) db_sess = db_session.create_session() if not request.json: return jsonify({'error': 'Empty request'}) elif not all(key in request.json for key in ['id', 'title', 'quantity', 'price', "description", "category", "user_id"]): return jsonify({'error': 'Bad request'}) elif db_sess.query(Products).get(request.json["id"]): return jsonify({'error': 'Id already exists'}) products = Products( id=request.json['id'], title=request.json['title'], quantity=request.json['quantity'], price=request.json['price'], description=request.json['description'], category=request.json['category'], user_id=request.json['user_id'] ) db_sess.add(products) db_sess.commit() return jsonify({'success': 'OK'})
if item and item.quantity_in_stock > 0: item.quantity_in_stock = item.quantity_in_stock - 1 session.commit() return render_template("buy_item.html", have=True, item=item, bgimg=get_image_profile(current_user), style=url_for('static', filename='css/style.css')) else: session.close() return render_template("buy_item.html", have=False, item=item, bgimg=get_image_profile(current_user), style=url_for('static', filename='css/style.css')) if __name__ == '__main__': # create_products() main(port=8000) create_new_db = False if create_new_db: db_session.global_init("Followers_Rjkzavrs.sqlite") session = db_session.create_session() user = User() session.add(user) session.commit() session = db_session.create_session() session.add(Publications()) session.add(DevelopersDiary()) session.add(Products()) session.commit() session = db_session.create_session() session.add(Comments()) session.commit() print('Успех!')