Size: a a a

2018 January 18

AB

Alex Breus in Python Flask
с print проблем нет

Но мне для api надо return, а не print в консоль серва
источник

AH

Alex H in Python Flask
return jsonify(product)
источник

AB

Alex Breus in Python Flask
Такое же, unicode
источник

AH

Alex H in Python Flask
а если app.config['JSON_AS_ASCII'] = False
источник

AH

Alex H in Python Flask
https://2cyr.com/decode/?lang=ru - показывает, что исходная кодировка "Eco\u043f\u043e\u0440\u043e\u0448\u043e\u043a" - KOI-7
источник

AB

Alex Breus in Python Flask
Alex H
а если app.config['JSON_AS_ASCII'] = False
Благодарю. Это сработало!
источник

AH

Alex H in Python Flask
источник

AB

Alex Breus in Python Flask
источник

AB

Alex Breus in Python Flask
Хотел ещё кое-что спросить. Есть какое-то изящное решение для передачи и обработки аргументов? (/products?id=1&language=ru)

parser = reqparse.RequestParser()
parser.add_argument('id')
parser.add_argument('language')
class ProductsAPI(Resource):
   def get(self):
       id = parser.parse_args()['id']
       language = parser.parse_args()['language']
       if id and not language:
           pass
       elif language and not id:
           pass
       elif id and language:
           pass
       else:
           products = [product.json() for product in Products.query.all()]
           print(products[0])
           return jsonify(products)
источник

AB

Alex Breus in Python Flask
Так-же как-то странно, когда делаешь print(parser.parse_args()), вываливает все аргументы, независимо от того, что они не относяться к этому запросу (/products):
{'email': None, 'id': '1', 'language': 'ru', 'category_id': None, 'product_id': 1, 'news_id': None}

Хотелось бы отделить к примеру аргументы к /products, /news и т.п., отдельно, а не ожидать все аргументы которые есть в двух разных моделях.
источник

AH

Alex H in Python Flask
Лучше def записать под каждый тип запроса. Это более ооп.
источник

AB

Alex Breus in Python Flask
Как в стандартном flask?
Зачем тогда придумали flask restful? 😔
источник

S

Sergey in Python Flask
Alex H
Лучше def записать под каждый тип запроса. Это более ооп.
ФП
источник

K

Koote in Python Flask
Alex Breus
Как в стандартном flask?
Зачем тогда придумали flask restful? 😔
а как ты сериализацию делал?
источник

K

Koote in Python Flask
у тебя в моделях есть гибридные свойства?
источник

AB

Alex Breus in Python Flask
Alex Breus
Вот точно не скажу. Насколько я помню такого метода нет и я немного костыльнул

Вот ещё версия модели:
class Products(db.Model):
   id = db.Column(db.Integer, primary_key=True)
   products_id = db.Column(db.Integer) # f**king feature

   name = db.Column(db.String) # название товара
   short_description = db.Column(db.Text) # краткое описание
   description = db.Column(db.Text) # описание
   short_consist = db.Column(db.Text) # краткий состав
   consist = db.Column(db.Text) # состав
   price = db.Column(db.String) # цена
   usage = db.Column(db.Text) # способ использования
   video = db.Column(db.Text) # ссылка на видео
   advantage = db.Column(db.Text) # преимущества
   img = db.Column(db.Text) # изображения

   reviews = db.Column(db.Text) # отзывы, need to delete

   category_id = db.Column(db.Integer)
   language = db.Column(db.String)

   def json(self):
       return {
           'id': self.id,
           'products_id': self.products_id,
           'name': self.name,
           'short_description': self.short_description,
           'description': self.description,
           'short_consist': self.short_consist,
           'consist': self.consist,
           'price': self.price,
           'usage': self.usage,
           'video': self.video,
           'advantage': self.advantage,
           'img': self.img,
           'reviews': self.reviews,
           'category_id': self.category_id,
           'language': self.language
       }
Вот моя модель
источник

K

Koote in Python Flask
а окей
источник

K

Koote in Python Flask
спасибо
источник

AB

Alex Breus in Python Flask
Koote
у тебя в моделях есть гибридные свойства?
Что имеется ввиду?
источник

K

Koote in Python Flask
hybrid_property
источник