def post(self): # g_name = request.form.get("g_name") # g_price = request.form.get("g_price") args = parser.parse_args() g_name = args.get("g_name") g_price = args.get("g_price") goods = Goods() goods.g_name = g_name goods.g_price = g_price data = { "status": 201, "msg": "create success", "data": marshal(goods, goods_fields) } if not goods.save(): abort(400) return data
def add_good(request): g_name = request.GET.get("gname") goods = Goods() goods.g_name = g_name goods.save() return HttpResponse('goods%d created success!' % goods.id)
def post(self): g_name = request.form.get("g_name") g_price = request.form.get("g_price") goods = Goods() goods.d_name = g_name goods.g_price = g_price # data = {"msg": "create success", "status": 201, "data": marshal(goods, good_fields)} data = {"msg": "create success", "status": 201, "data": goods} if not goods.save(): abort(400) return data
def post(self): g_name = request.form.get('g_name') g_price = request.form.get('g_price') goods = Goods() goods.g_name = g_name goods.g_price = g_price if not goods.save(): abort(400) else: data = { "msg": "create success", 'status': 201, # 需要对goods对象进行序列化 # 'data': marshal(goods, goods_fields), 'data': goods, # 这种方式怎么解决呢 看官方文档 } return data
def addgoods(request): goods = Goods() goods.g_name = 'ipad-' + str(random.randrange(1,10)) goods.g_price = random.randrange(1000,20000) goods.save() return HttpResponse('添加商品 {} 成功'.format(goods.g_name))
def post(self): # 从 args # g_name = request.form.get("g_name") # g_price = request.form.get("g_price") args = parser.parse_args() g_name = args.get("g_name") g_price = args.get("g_price") goods = Goods() goods.g_name = g_name goods.g_price = g_price if not goods.save(): abort(400) # 201 (Created/已创建) data = { "msg": "create success", "status": 201, # "data": marshal(goods, goods_fields) "data": goods } return data
def post(self): # g_name = request.form.get('g_name') # g_price = request.form.get('g_price') args = parser.parse_args() g_name = args.get('g_name') g_price = args.get('g_price') print(args.get('mu')) print(args.get('name')) goods = Goods() goods.g_name = g_name goods.g_price = g_price if not goods.save(): abort(400) """ JSON Response 格式 单个对象 { "status": 200, "msg" : "ok", "data" :{ "property": "value", "property": "value", "property": "value", } } 多个对象,列表对象 { "status": 200, "msg" : "ok", "data" : [ { "property": "value", "property": "value", "property": "value" }, { "property": "value", "property": "value", "property": "value" }, { "property": "value", "property": "value", "property": "value" }, ] } """ data = { "msg": "create success", "status": 201, # "data": marshal(goods, goods_fields) "data": goods } return data
def add_goods(request): goods = Goods() goods.g_name = "拯救者%d" % random.randrange(2000) goods.save() return HttpResponse('商品添加成功%d' % goods.id)
def getData(url, categoryid, childcid): # 获取电脑数据-华为 headers = { 'authority': 'search.jd.com', 'pragma': 'no-cache', 'cache-control': 'no-cache', 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36', 'sec-fetch-dest': 'document', 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'sec-fetch-site': 'same-origin', 'sec-fetch-mode': 'navigate', 'sec-fetch-user': '******', 'referer': 'https://search.jd.com/Search?keyword=%E7%94%B5%E8%84%91&enc=utf-8&wq=%E7%94%B5%E8%84%91&pvid=428a00f787634278b3c483a286ce7504', 'accept-language': 'zh-CN,zh;q=0.9', 'cookie': 'shshshfpa=b1669764-0cb5-1aba-690c-4612f556474d-1567403211; shshshfpb=u0OlDT3qS%20GRAIYqgm4kcAw%3D%3D; qrsc=3; areaId=6; ipLoc-djd=6-309-313-0; PCSYCityID=CN_140000_140200_140221; xtest=6533.cf6b6759; rkv=V0100; __jdv=122270672|google|AmericaBrandC01|cpc|not set|1583752306893; __jdu=156740321156397634167; __jdc=122270672; __jda=122270672.156740321156397634167.1567403212.1583812940.1583820903.35; __jdb=122270672.7.156740321156397634167|35.1583820903; shshshfp=8a9c2fa77460f9b741d05449262851ba; shshshsID=3a7cb79385ddfba17eeb20f1c88144b6_7_1583822602395; 3AB9D23F7A4B3C9B=KYALSGGQOSXZBOZZHLMZZ3LZNBU2URJJ6EO2XESCUNXMV57NQ5HUAIPR5KKSOL7ZIK5LRGEI6OYBYVLW7LUIZU5CNI', } # 电脑-->苹果 response = requests.get(url, headers=headers) html = etree.HTML(response.content) divList = html.xpath('//div[@class="gl-i-wrap"]') for div in divList: productId = div.xpath('../@data-sku')[0].strip()[0:5] picUrl = 'https:' + div.xpath('.//div[@class="p-img"]/a/img/@source-data-lazy-img')[0].strip() currentPrice = float(div.xpath('.//div[@class="p-price"]/strong/i/text()')[0].strip()) marketPrice = currentPrice + 50 pname = ''.join(div.xpath('.//div[contains(@class,"p-name")]/a/em//text()')) goods = Goods() goods.productid = productId goods.productimg = picUrl goods.categoryid = categoryid goods.childcid = childcid goods.price = currentPrice goods.marketprice = marketPrice goods.productlongname = pname goods.storenums = 100 goods.productnum = randrange(100, 1000) goods.specifics = 10 goods.childcidname = '' goods.save()