vue+django2.0.2-rest-framework 生鲜项目
一、xadmin后台管理系统配置
不使用Django自带admin后台管理,使用xadmin后台管理,类似CRM项目中的kingadmin后台管理
xadmin依赖以下插件,需在虚拟环境下安装:
- django
- django-crispy-forms
- django-reversion
- django-formtools
- django-import-export
- future
- httplib2
- six
- xlwt
- xlsxwriter # xlwt跟xlsxwriter,不是依赖包,主要用来做ex文件导出,使xadmin功能更加强大些
pip install django-crispy-forms django-reversion django-formtools future httplib2 six # 多个依赖包一起安装 pip install django-import-export pip install xlwt xlsxwriter
1)将xadmin包复制,放到extre_apps中,在apps中的每个app(users、goos、trade、user_operation)添加一个adminx文件
2)将xadmin、crispy_forms、DjangoUeditor,在setting中进行注册:
INSTALLED_APPS = [ 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'apps.users.apps.UsersConfig', 'apps.goods.apps.GoodsConfig', 'apps.trade.apps.TradeConfig', 'apps.user_operation.apps.UserOperationConfig', 'xadmin', 'crispy_forms', 'DjangoUeditor', # 'goods', # 'trade', # 'user_operation', # 'users' ]
setting相关配置:
# 语言改为中文 LANGUAGE_CODE = 'zh-hans' # 时区改为上海 TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True # 数据库存储使用时间,True时间会被存为UTC的时间 USE_TZ = False
# 静态文件存储及访问路径 STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, "static"), ] # 设置上传文件存储路径,从前端后后台生成的产品图均会存到这里(对应model中image字段upload_to指定的上传路径) MEDIA_URL = "/media/" MEDIA_ROOT = os.path.join(BASE_DIR, "media")
注意:设置media 上传文件/图片存储路径后,需要在url.py 中对上传文件/图片做url路由的相关配置:
# urls.py from MxShop.setting import MEDIA_ROOT from django.views.static import serve urlpatterns = [ re_path(r'^media/(?P<path>.*)$', serve, {"document_root": "MEDIA_ROOT"}) # 设置前端/后台显示media中对应路径下的图片/文件 ]
3)app名称中文化:
# goods/apps.py class GoodsConfig(AppConfig): name = 'goods' verbose_name = "商品管理" # trade/apps.py class TradeConfig(AppConfig): name = 'trade' verbose_name = "交易管理" #user_operation/apps.py class UserOperationConfig(AppConfig): name = 'user_operation' verbose_name = "操作管理" #users/apps.py class UsersConfig(AppConfig): name = 'apps.users' verbose_name = "用户管理"
4)配置xadmin和ueditor的路由
# MxShop/urls.py import xadmin from django.urls import path,include urlpatterns = [ path('xadmin/', xadmin.site.urls), path('ueditor/', include('DjangoUeditor.urls')), ]
5)makemigrations
migrate
6)python manager.py createsuperuser ,创建超级用户,登录(127.0.0.1:8000/xadmin)xadmin后台管理查看详情
二、导入商品类别数据、商品数据
dbtools新建data文件夹,导入category_data.py和product_data.py文件
category_data.py:商品分类数据
product_data.py:商品详情数据
dbtools分别创建脚本:
import_category_data.py:用于导入category_data中的数据
import_goods_data.py:用于导入producu_data中的数据
把brands和goods图片拷贝到media相应目录下
运行脚本:import_category_data.py 、 import_goods_data.py ,完成将商品分类数据及商品详情数据都存入数据库
xadmin后台中要显示出商品的img图片,需在Mxshop中的url.py添加:
from django.views.static import serve # 用于寻找静态文件 from Mxshop.settings import MEDIA_ROOT urlpatterns = [ path('xadmin/', xadmin.site.urls), path('ueditor/', include('DjangoUeditor.urls')),
# 处理图片显示的url,使用Django自带serve,传入参数告诉它去哪个路径找,我们有配置好的路径MEDIAROOT # 这句代码意思是,与media相关的通通当作静态文件来处理,根据指定好的MEDIA_ROOT路径找寻静态文件 re_path('media/(?P<path>.*)', serve, {"document_root": MEDIA_ROOT }), #添加此句代码 ]
category_data.py:
#!/usr/bin/env python # encoding: utf-8 row_data = [ { 'sub_categorys': [ { 'sub_categorys': [ { 'code': 'yr', 'name': '羊肉' }, { 'code': 'ql', 'name': '禽类' }, { 'code': 'zr', 'name': '猪肉' }, { 'code': 'nr', 'name': '牛肉' } ], 'code': 'jprl', 'name': '精品肉类' }, { 'sub_categorys': [ { 'code': 'cb', 'name': '参鲍' }, { 'code': 'yu', 'name': '鱼' }, { 'code': 'xia', 'name': '虾' }, { 'code': 'xb', 'name': '蟹/贝' } ], 'code': 'hxsc', 'name': '海鲜水产' }, { 'sub_categorys': [ { 'code': 'xhd_xyd', 'name': '松花蛋/咸鸭蛋' }, { 'code': 'jd', 'name': '鸡蛋' } ], 'code': 'dzp', 'name': '蛋制品' }, { 'sub_categorys': [ { 'code': 'sc', 'name': '生菜' }, { 'code': 'bc', 'name': '菠菜' }, { 'code': 'yj', 'name': '圆椒' }, { 'code': 'xlh', 'name': '西兰花' } ], 'code': 'ycl', 'name': '叶菜类' }, { 'sub_categorys': [ ], 'code': 'gjl', 'name': '根茎类' }, { 'sub_categorys': [ ], 'code': 'qgl', 'name': '茄果类' }, { 'sub_categorys': [ ], 'code': 'jgl', 'name': '菌菇类' }, { 'sub_categorys': [ ], 'code': 'jksx', 'name': '进口生鲜' } ], 'code': 'sxsp', 'name': '生鲜食品' }, { 'sub_categorys': [ { 'sub_categorys': [ { 'code': 'wly', 'name': '五粮液' }, { 'code': 'lzlj', 'name': '泸州老窖' }, { 'code': 'mt', 'name': '茅台' } ], 'code': 'bk', 'name': '白酒' }, { 'sub_categorys': [ ], 'code': 'ptj', 'name': '葡萄酒' }, { 'sub_categorys': [ ], 'code': 'yj', 'name': '洋酒' }, { 'sub_categorys': [ ], 'code': 'pj', 'name': '啤酒' }, { 'sub_categorys': [ { 'code': 'qtpp', 'name': '其他品牌' }, { 'code': 'hj', 'name': '黄酒' }, { 'code': 'ysj', 'name': '养生酒' } ], 'code': 'qtjp', 'name': '其他酒品' }, { 'sub_categorys': [ ], 'code': 'yls', 'name': '饮料/水' }, { 'sub_categorys': [ { 'code': 'bld', 'name': '白兰地' }, { 'code': 'wsj', 'name': '威士忌' } ], 'code': 'hj', 'name': '红酒' } ], 'code': 'jsyl', 'name': '酒水饮料' }, { 'sub_categorys': [ { 'sub_categorys': [ { 'code': '其他食用油', 'name': '其他食用油' }, { 'code': '菜仔油', 'name': '菜仔油' }, { 'code': '花生油', 'name': '花生油' }, { 'code': '橄榄油', 'name': '橄榄油' }, { 'code': '礼盒', 'name': '礼盒' } ], 'code': '食用油', 'name': '食用油' }, { 'sub_categorys': [ { 'code': '面粉/面条', 'name': '面粉/面条' }, { 'code': '大米', 'name': '大米' }, { 'code': '意大利面', 'name': '意大利面' } ], 'code': '米面杂粮', 'name': '米面杂粮' }, { 'sub_categorys': [ { 'code': '调味油/汁', 'name': '调味油/汁' }, { 'code': '酱油/醋', 'name': '酱油/醋' } ], 'code': '厨房调料', 'name': '厨房调料' }, { 'sub_categorys': [ ], 'code': '南北干货', 'name': '南北干货' }, { 'sub_categorys': [ ], 'code': '方便速食', 'name': '方便速食' }, { 'sub_categorys': [ ], 'code': '调味品', 'name': '调味品' } ], 'code': '粮油副食', 'name': '粮油副食' }, { 'sub_categorys': [ { 'sub_categorys': [ { 'code': '西红柿', 'name': '西红柿' }, { 'code': '韭菜', 'name': '韭菜' }, { 'code': '青菜', 'name': '青菜' } ], 'code': '有机蔬菜', 'name': '有机蔬菜' }, { 'sub_categorys': [ { 'code': '甘蓝', 'name': '甘蓝' }, { 'code': '胡萝卜', 'name': '胡萝卜' }, { 'code': '黄瓜', 'name': '黄瓜' } ], 'code': '精选蔬菜', 'name': '精选蔬菜' }, { 'sub_categorys': [ { 'code': '火龙果', 'name': '火龙果' }, { 'code': '菠萝蜜', 'name': '菠萝蜜' }, { 'code': '奇异果', 'name': '奇异果' } ], 'code': '进口水果', 'name': '进口水果' }, { 'sub_categorys': [ { 'code': '水果礼盒', 'name': '水果礼盒' }, { 'code': '苹果', 'name': '苹果' }, { 'code': '雪梨', 'name': '雪梨' } ], 'code': '国产水果', 'name': '国产水果' } ], 'code': '蔬菜水果', 'name': '蔬菜水果' }, { 'sub_categorys': [ { 'sub_categorys': [ { 'code': '果冻', 'name': '果冻' }, { 'code': '枣类', 'name': '枣类' }, { 'code': '蜜饯', 'name': '蜜饯' }, { 'code': '肉类零食', 'name': '肉类零食' }, { 'code': '坚果炒货', 'name': '坚果炒货' } ], 'code': '休闲零食', 'name': '休闲零食' }, { 'sub_categorys': [ { 'code': '创意喜糖', 'name': '创意喜糖' }, { 'code': '口香糖', 'name': '口香糖' }, { 'code': '软糖', 'name': '软糖' }, { 'code': '棒棒糖', 'name': '棒棒糖' } ], 'code': '糖果', 'name': '糖果' }, { 'sub_categorys': [ { 'code': '夹心巧克力', 'name': '夹心巧克力' }, { 'code': '白巧克力', 'name': '白巧克力' }, { 'code': '松露巧克力', 'name': '松露巧克力' }, { 'code': '黑巧克力', 'name': '黑巧克力' } ], 'code': '巧克力', 'name': '巧克力' }, { 'sub_categorys': [ { 'code': '牛肉干', 'name': '牛肉干' }, { 'code': '猪肉脯', 'name': '猪肉脯' }, { 'code': '牛肉粒', 'name': '牛肉粒' }, { 'code': '猪肉干', 'name': '猪肉干' } ], 'code': '肉干肉脯/豆干', 'name': '肉干肉脯/豆干' }, { 'sub_categorys': [ { 'code': '鱿鱼足', 'name': '鱿鱼足' }, { 'code': '鱿鱼丝', 'name': '鱿鱼丝' }, { 'code': '墨鱼/乌贼', 'name': '墨鱼/乌贼' }, { 'code': '鱿鱼仔', 'name': '鱿鱼仔' }, { 'code': '鱿鱼片', 'name': '鱿鱼片' } ], 'code': '鱿鱼丝/鱼干', 'name': '鱿鱼丝/鱼干' } ], 'code': '休闲食品', 'name': '休闲食品' }, { 'sub_categorys': [ { 'sub_categorys': [ ], 'code': '进口奶品', 'name': '进口奶品' }, { 'sub_categorys': [ ], 'code': '国产奶品', 'name': '国产奶品' }, { 'sub_categorys': [ ], 'code': '奶粉', 'name': '奶粉' }, { 'sub_categorys': [ ], 'code': '有机奶', 'name': '有机奶' }, { 'sub_categorys': [ ], 'code': '原料奶', 'name': '原料奶' } ], 'code': '奶类食品', 'name': '奶类食品' }, { 'sub_categorys': [ { 'sub_categorys': [ ], 'code': '菌菇类', 'name': '菌菇类' }, { 'sub_categorys': [ ], 'code': '腌干海产', 'name': '腌干海产' }, { 'sub_categorys': [ ], 'code': '汤料', 'name': '汤料' }, { 'sub_categorys': [ ], 'code': '豆类', 'name': '豆类' }, { 'sub_categorys': [ ], 'code': '干菜/菜干', 'name': '干菜/菜干' }, { 'sub_categorys': [ ], 'code': '干果/果干', 'name': '干果/果干' }, { 'sub_categorys': [ ], 'code': '豆制品', 'name': '豆制品' }, { 'sub_categorys': [ ], 'code': '腊味', 'name': '腊味' } ], 'code': '天然干货', 'name': '天然干货' }, { 'sub_categorys': [ { 'sub_categorys': [ ], 'code': '白茶', 'name': '白茶' }, { 'sub_categorys': [ ], 'code': '红茶', 'name': '红茶' }, { 'sub_categorys': [ ], 'code': '绿茶', 'name': '绿茶' } ], 'code': '精选茗茶', 'name': '精选茗茶' } ]
product_data.py:
#!/usr/bin/env python # encoding: utf-8 row_data = [ { 'images': [ 'goods/images/1_P_1449024889889.jpg', 'goods/images/1_P_1449024889264.jpg', 'goods/images/1_P_1449024889726.jpg', 'goods/images/1_P_1449024889018.jpg', 'goods/images/1_P_1449024889287.jpg' ], 'categorys': [ '首页', '生鲜食品', '根茎类' ], 'market_price': '¥232元', 'name': '新鲜水果甜蜜香脆单果约800克', 'desc': '食用百香果可以增加胃部饱腹感,减少余热量的摄入,还可以吸附胆固醇和胆汁之类有机分子,抑制人体对脂肪的吸收。因此,长期食用有利于改善人体营养吸收结构,降低体内脂肪,塑造健康优美体态。', 'sale_price': '¥156元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/2_P_1448945810202.jpg', 'goods/images/2_P_1448945810814.jpg' ], 'categorys': [ '首页', '生鲜食品', '海鲜水产' ], 'market_price': '¥106元', 'name': '田然牛肉大黄瓜条生鲜牛肉冷冻真空黄牛', 'desc': '前腿+后腿+羊排共8斤,原生态大山放牧羊羔,曾经的皇室贡品,央视推荐,2005年北京招待全球财金首脑。五层专用包装箱+真空包装+冰袋+保鲜箱+顺丰冷链发货,路途保质期8天', 'sale_price': '¥88元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/7_P_1448945104883.jpg', 'goods/images/7_P_1448945104734.jpg' ], 'categorys': [ '首页', '生鲜食品', '叶菜类' ], 'market_price': '¥286元', 'name': '酣畅家庭菲力牛排10片澳洲生鲜牛肉团购套餐', 'desc': None, 'sale_price': '¥238元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/47_P_1448946213263.jpg', 'goods/images/47_P_1448946213157.jpg' ], 'categorys': [ '首页', '生鲜食品', '根茎类' ], 'market_price': '¥156元', 'name': '日本蒜蓉粉丝扇贝270克6只装', 'desc': None, 'sale_price': '¥108元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/10_P_1448944572085.jpg', 'goods/images/10_P_1448944572532.jpg', 'goods/images/10_P_1448944572872.jpg' ], 'categorys': [ '首页', '生鲜食品', '海鲜水产' ], 'market_price': '¥106元', 'name': '内蒙新鲜牛肉1斤清真生鲜牛肉火锅食材', 'desc': None, 'sale_price': '¥88元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/4_P_1448945381985.jpg', 'goods/images/4_P_1448945381013.jpg' ], 'categorys': [ '首页', '生鲜食品', '茄果类' ], 'market_price': '¥90元', 'name': '乌拉圭进口牛肉卷特级肥牛卷', 'desc': None, 'sale_price': '¥75元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/8_P_1448945032810.jpg', 'goods/images/8_P_1448945032646.jpg' ], 'categorys': [ '首页', '生鲜食品', '进口生鲜' ], 'market_price': '¥150元', 'name': '五星眼肉牛排套餐8片装原味原切生鲜牛肉', 'desc': None, 'sale_price': '¥125元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/11_P_1448944388277.jpg', 'goods/images/11_P_1448944388034.jpg', 'goods/images/11_P_1448944388201.jpg' ], 'categorys': [ '首页', '生鲜食品', '海鲜水产' ], 'market_price': '¥31元', 'name': '澳洲进口120天谷饲牛仔骨4份原味生鲜', 'desc': None, 'sale_price': '¥26元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/6_P_1448945167279.jpg', 'goods/images/6_P_1448945167015.jpg' ], 'categorys': [ '首页', '生鲜食品', '菌菇类' ], 'market_price': '¥239元', 'name': '潮香村澳洲进口牛排家庭团购套餐20片', 'desc': None, 'sale_price': '¥199元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/9_P_1448944791617.jpg', 'goods/images/9_P_1448944791129.jpg', 'goods/images/9_P_1448944791077.jpg', 'goods/images/9_P_1448944791229.jpg' ], 'categorys': [ '首页', '生鲜食品', '根茎类' ], 'market_price': '¥202元', 'name': '爱食派内蒙古呼伦贝尔冷冻生鲜牛腱子肉1000g', 'desc': None, 'sale_price': '¥168元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/3_P_1448945490837.jpg', 'goods/images/3_P_1448945490084.jpg' ], 'categorys': [ '首页', '生鲜食品', '精品肉类' ], 'market_price': '¥306元', 'name': '澳洲进口牛尾巴300g新鲜肥牛肉', 'desc': '新鲜羊羔肉整只共15斤,原生态大山放牧羊羔,曾经的皇室贡品,央视推荐,2005年北京招待全球财金首脑。五层专用包装箱+真空包装+冰袋+保鲜箱+顺丰冷链发货,路途保质期8天', 'sale_price': '¥255元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/48_P_1448943988970.jpg', 'goods/images/48_P_1448943988898.jpg', 'goods/images/48_P_1448943988439.jpg' ], 'categorys': [ '首页', '生鲜食品', '海鲜水产' ], 'market_price': '¥126元', 'name': '新疆巴尔鲁克生鲜牛排眼肉牛扒1200g', 'desc': None, 'sale_price': '¥88元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/5_P_1448945270390.jpg', 'goods/images/5_P_1448945270067.jpg', 'goods/images/5_P_1448945270432.jpg' ], 'categorys': [ '首页', '生鲜食品', '蛋制品' ], 'market_price': '¥144元', 'name': '澳洲进口安格斯牛切片上脑牛排1000g', 'desc': '澳大利亚是国际公认的没有疯牛病和口蹄疫的国家。为了保持澳大利亚产品的高标准,澳大利亚牛肉业和各级政府共同努力简历了严格的标准和体系,以保证生产的整体化和产品的可追溯性', 'sale_price': '¥120元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'images/201705/goods_img/53_P_1495068879687.jpg' ], 'categorys': [ '首页', '生鲜食品', '茄果类' ], 'market_price': '¥120元', 'name': '帐篷出租', 'desc': None, 'sale_price': '¥100元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/16_P_1448947194687.jpg' ], 'categorys': [ '首页', '酒水饮料', '红酒' ], 'market_price': '¥23元', 'name': '52度茅台集团国隆双喜酒500mlx6', 'desc': '贵州茅台酒厂(集团)保健酒业有限公司生产,是以“龙”字打头的酒水。中国龙文化上下8000年,源远而流长,龙的形象是一种符号、一种意绪、一种血肉相联的情感。', 'sale_price': '¥19元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/14_P_1448947354031.jpg', 'goods/images/14_P_1448947354433.jpg' ], 'categorys': [ '首页', '酒水饮料', '饮料/水' ], 'market_price': '¥43元', 'name': '52度水井坊臻酿八號500ml', 'desc': None, 'sale_price': '¥36元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/12_P_1448947547989.jpg' ], 'categorys': [ '首页', '酒水饮料', '其他酒品' ], 'market_price': '¥190元', 'name': '53度茅台仁酒500ml', 'desc': None, 'sale_price': '¥158元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/46_P_1448946598711.jpg', 'goods/images/46_P_1448946598301.jpg' ], 'categorys': [ '首页', '酒水饮料', '葡萄酒' ], 'market_price': '¥38元', 'name': '双响炮洋酒JimBeamwhiskey美国白占边', 'desc': None, 'sale_price': '¥28元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/21_P_1448946793276.jpg', 'goods/images/21_P_1448946793153.jpg' ], 'categorys': [ '首页', '酒水饮料', '饮料/水' ], 'market_price': '¥55元', 'name': '西夫拉姆进口洋酒小酒版', 'desc': None, 'sale_price': '¥46元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/15_P_1448947257324.jpg', 'goods/images/15_P_1448947257580.jpg' ], 'categorys': [ '首页', '酒水饮料', '洋酒' ], 'market_price': '¥22元', 'name': '茅台53度飞天茅台500ml', 'desc': None, 'sale_price': '¥18元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/13_P_1448947460386.jpg', 'goods/images/13_P_1448947460276.jpg', 'goods/images/13_P_1448947460353.jpg' ], 'categorys': [ '首页', '酒水饮料', '葡萄酒' ], 'market_price': '¥42元', 'name': '52度兰陵·紫气东来1600mL山东名酒', 'desc': None, 'sale_price': '¥35元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/50_P_1448946543091.jpg', 'goods/images/50_P_1448946542182.jpg' ], 'categorys': [ '首页', '酒水饮料', '饮料/水' ], 'market_price': '¥24元', 'name': 'JohnnieWalker尊尼获加黑牌威士忌', 'desc': None, 'sale_price': '¥20元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/51_P_1448946466595.jpg', 'goods/images/51_P_1448946466208.jpg' ], 'categorys': [ '首页', '酒水饮料', '洋酒' ], 'market_price': '¥31元', 'name': '人头马CLUB特优香槟干邑350ml', 'desc': None, 'sale_price': '¥26元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/17_P_1448947102246.jpg' ], 'categorys': [ '首页', '酒水饮料', '啤酒' ], 'market_price': '¥54元', 'name': '张裕干红葡萄酒750ml*6支', 'desc': None, 'sale_price': '¥45元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/20_P_1448946850602.jpg' ], 'categorys': [ '首页', '酒水饮料', '葡萄酒' ], 'market_price': '¥46元', 'name': '原瓶原装进口洋酒烈酒法国云鹿XO白兰地', 'desc': None, 'sale_price': '¥38元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/19_P_1448946951581.jpg', 'goods/images/19_P_1448946951726.jpg' ], 'categorys': [ '首页', '酒水饮料', '白酒' ], 'market_price': '¥82元', 'name': '法国原装进口圣贝克干红葡萄酒750ml', 'desc': None, 'sale_price': '¥68元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/18_P_1448947011435.jpg' ], 'categorys': [ '首页', '酒水饮料', '白酒' ], 'market_price': '¥67元', 'name': '法国百利威干红葡萄酒AOP级6支装', 'desc': None, 'sale_price': '¥56元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/22_P_1448946729629.jpg' ], 'categorys': [ '首页', '酒水饮料', '洋酒' ], 'market_price': '¥71元', 'name': '芝华士12年苏格兰威士忌700ml', 'desc': None, 'sale_price': '¥59元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/45_P_1448946661303.jpg' ], 'categorys': [ '首页', '酒水饮料', '饮料/水' ], 'market_price': '¥31元', 'name': '深蓝伏特加巴维兰利口酒送预调酒', 'desc': None, 'sale_price': '¥18元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/32_P_1448948525620.jpg' ], 'categorys': [ '首页', '蔬菜水果', '精选蔬菜' ], 'market_price': '¥43元', 'name': '赣南脐橙特级果10斤装', 'desc': None, 'sale_price': '¥36元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/30_P_1448948663450.jpg', 'goods/images/30_P_1448948662571.jpg', 'goods/images/30_P_1448948663221.jpg' ], 'categorys': [ '首页', '蔬菜水果', '进口水果' ], 'market_price': '¥11元', 'name': '泰国菠萝蜜16-18斤1个装', 'desc': '【懒人吃法】菠萝蜜果肉,冰袋保鲜,收货就吃,冰爽Q脆甜,2斤装,全国顺丰空运包邮,发出后48小时内可达,一线城市基本隔天可达', 'sale_price': '¥9元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/31_P_1448948598947.jpg', 'goods/images/31_P_1448948598475.jpg' ], 'categorys': [ '首页', '蔬菜水果', '国产水果' ], 'market_price': '¥22元', 'name': '四川双流草莓新鲜水果礼盒2盒', 'desc': None, 'sale_price': '¥18元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/35_P_1448948333610.jpg', 'goods/images/35_P_1448948333313.jpg' ], 'categorys': [ '首页', '蔬菜水果', '有机蔬菜' ], 'market_price': '¥67元', 'name': '新鲜头茬非洲冰草冰菜', 'desc': None, 'sale_price': '¥56元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/36_P_1448948234405.jpg', 'goods/images/36_P_1448948234250.jpg' ], 'categorys': [ '首页', '蔬菜水果', '有机蔬菜' ], 'market_price': '¥6元', 'name': '仿真蔬菜水果果蔬菜模型', 'desc': None, 'sale_price': '¥5元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/33_P_1448948479966.jpg', 'goods/images/33_P_1448948479886.jpg' ], 'categorys': [ '首页', '蔬菜水果', '精选蔬菜' ], 'market_price': '¥28元', 'name': '现摘芭乐番石榴台湾珍珠芭乐', 'desc': '''海南产精品释迦果, 释迦是水果中的贵族, 产量少, 味道很甜, 奶香十足, 非常可口, 果裹果园顺丰空运, 保证新鲜.果子个大, 一斤1-2个左右, 大个头的果子更尽兴! ''', 'sale_price': '¥23元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/34_P_1448948399009.jpg' ], 'categorys': [ '首页', '蔬菜水果', '国产水果' ], 'market_price': '¥46元', 'name': '潍坊萝卜5斤/箱礼盒', 'desc': '脐橙规格是65-90MM左右(标准果果径平均70MM左右,精品果果径平均80MM左右),一斤大概有2-4个左右,脐橙产自江西省赣州市信丰县安西镇,全过程都是采用农家有机肥种植,生态天然', 'sale_price': '¥38元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/43_P_1448948762645.jpg' ], 'categorys': [ '首页', '休闲食品' ], 'market_price': '¥154元', 'name': '休闲零食膨化食品焦糖/奶油/椒麻味', 'desc': None, 'sale_price': '¥99元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/38_P_1448949220255.jpg' ], 'categorys': [ '首页', '奶类食品', '奶粉' ], 'market_price': '¥84元', 'name': '蒙牛未来星儿童成长牛奶骨力型190ml*15盒', 'desc': None, 'sale_price': '¥70元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/44_P_1448948850187.jpg' ], 'categorys': [ '首页', '奶类食品', '进口奶品' ], 'market_price': '¥70元', 'name': '蒙牛特仑苏有机奶250ml×12盒', 'desc': None, 'sale_price': '¥32元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'images/201511/goods_img/49_P_1448162819889.jpg' ], 'categorys': [ '首页', '奶类食品' ], 'market_price': '¥1元', 'name': '1元支付测试商品', 'desc': None, 'sale_price': '¥1元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/40_P_1448949038702.jpg' ], 'categorys': [ '首页', '奶类食品', '进口奶品' ], 'market_price': '¥70元', 'name': '德运全脂新鲜纯牛奶1L*10盒装整箱', 'desc': None, 'sale_price': '¥58元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/39_P_1448949115481.jpg' ], 'categorys': [ '首页', '奶类食品', '有机奶' ], 'market_price': '¥38元', 'name': '木糖醇红枣早餐奶即食豆奶粉538g', 'desc': None, 'sale_price': '¥32元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/41_P_1448948980358.jpg' ], 'categorys': [ '首页', '奶类食品', '原料奶' ], 'market_price': '¥26元', 'name': '高钙液体奶200ml*24盒', 'desc': None, 'sale_price': '¥22元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/37_P_1448949284365.jpg' ], 'categorys': [ '首页', '奶类食品', '国产奶品' ], 'market_price': '¥720元', 'name': '新西兰进口全脂奶粉900g', 'desc': None, 'sale_price': '¥600元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'images': [ 'goods/images/42_P_1448948895193.jpg' ], 'categorys': [ '首页', '奶类食品', '进口奶品' ], 'market_price': '¥43元', 'name': '伊利官方直营全脂营养舒化奶250ml*12盒*2提', 'desc': None, 'sale_price': '¥36元', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'sale_price': '¥156元', 'images': [ 'goods/images/27_P_1448947771805.jpg' ], 'market_price': '¥187元', 'categorys': [ '首页', '粮油副食', '厨房调料' ], 'desc': None, 'name': '维纳斯橄榄菜籽油5L/桶', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'sale_price': '¥15元', 'images': [ 'goods/images/23_P_1448948070348.jpg' ], 'market_price': '¥18元', 'categorys': [ '首页', '粮油副食', '食用油' ], 'desc': None, 'name': '糙米450gx3包粮油米面', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'sale_price': '¥45元', 'images': [ 'goods/images/26_P_1448947825754.jpg' ], 'market_price': '¥54元', 'categorys': [ '首页', '粮油副食', '调味品' ], 'desc': None, 'name': '精炼一级大豆油5L色拉油粮油食用油', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'sale_price': '¥26元', 'images': [ 'goods/images/28_P_1448947699948.jpg', 'goods/images/28_P_1448947699777.jpg' ], 'market_price': '¥31元', 'categorys': [ '首页', '粮油副食', '南北干货' ], 'desc': None, 'name': '橄榄玉米油5L*2桶', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'sale_price': '¥9元', 'images': [ 'goods/images/24_P_1448948023823.jpg', 'goods/images/24_P_1448948023977.jpg' ], 'market_price': '¥11元', 'categorys': [ '首页', '粮油副食', '方便速食' ], 'desc': None, 'name': '山西黑米农家黑米4斤', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'sale_price': '¥12元', 'images': [ 'goods/images/25_P_1448947875346.jpg' ], 'market_price': '¥14元', 'categorys': [ '首页', '粮油副食', '米面杂粮' ], 'desc': None, 'name': '稻园牌稻米油粮油米糠油绿色植物油', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' }, { 'sale_price': '¥12元', 'images': [ 'goods/images/29_P_1448947631994.jpg' ], 'market_price': '¥14元', 'categorys': [ '首页', '粮油副食', '食用油' ], 'desc': None, 'name': '融氏纯玉米胚芽油5l桶', 'goods_desc':'<p><img src="/media/goods/images/2_20170719161405_249.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161414_628.jpg" title="" alt="2.jpg"/></p><p><img src="/media/goods/images/2_20170719161435_381.jpg" title="" alt="2.jpg"/></p>' } ] pass
import_category_data.py:
# encoding: utf-8 # 独立使用django的model import sys import os # 获取当前文件的路径,即Mxshop/db_tools pwd = os.path.dirname(os.path.realpath(__file__)) # 往上一级,回到根目录,即/Mxshop sys.path.append(pwd + "../") # django环境,需先设置,才能使用django相关 # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "VueDjangoFrameWorkShop.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Mxshop.settings") import django # 初始化django django.setup() # 这行代码必须在初始化django之后 from goods.models import GoodsCategory from db_tools.data.category_data import row_data # 一级分类 for lev1_cat in row_data: lev1_intance = GoodsCategory() lev1_intance.code = lev1_cat["code"] lev1_intance.name = lev1_cat["name"] lev1_intance.category_type = 1 lev1_intance.save() # 该一级分类之下的二级分类 for lev2_cat in lev1_cat["sub_categorys"]: lev2_intance = GoodsCategory() lev2_intance.code = lev2_cat["code"] lev2_intance.name = lev2_cat["name"] lev2_intance.category_type = 2 lev2_intance.parent_category = lev1_intance lev2_intance.save() # 该二级分类之下的三级分类 for lev3_cat in lev2_cat["sub_categorys"]: lev3_intance = GoodsCategory() lev3_intance.code = lev3_cat["code"] lev3_intance.name = lev3_cat["name"] lev3_intance.category_type = 3 lev3_intance.parent_category = lev2_intance lev3_intance.save()
import_goods_data.py:
# encoding: utf-8 import sys import os pwd = os.path.dirname(os.path.realpath(__file__)) sys.path.append(pwd+"../") # os.environ.setdefault("DJANGO_SETTINGS_MODULE", "VueDjangoFrameWorkShop.settings") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Mxshop.settings") import django django.setup() from goods.models import Goods, GoodsCategory, GoodsImage from db_tools.data.product_data import row_data for goods_detail in row_data: goods = Goods() goods.name = goods_detail["name"] # 价格(¥55元),空格替换掉¥、元,強制转化成float类型 goods.market_price = float(int(goods_detail["market_price"].replace("¥", "").replace("元", ""))) #市场价格 goods.shop_price = float(int(goods_detail["sale_price"].replace("¥", "").replace("元", ""))) #本店价格 goods.goods_brief = goods_detail["desc"] if goods_detail["desc"] is not None else "" #简单描述 goods.goods_desc = goods_detail["goods_desc"] if goods_detail["goods_desc"] is not None else "" #图片,拿到的是字符串 # 取第一张作为封面图 goods.goods_front_image = goods_detail["images"][0] if goods_detail["images"] else "" # 取出倒数第一个也就是最小的类 category_name = goods_detail["categorys"][-1] # 取出当前子类对应的GoodsCategory对象 category = GoodsCategory.objects.filter(name=category_name) if category: # goods外键关联GoodsCategory,让两者关联上 goods.category = category[0] goods.save() # 详情页,商品轮播图 for goods_image in goods_detail["images"]: goods_image_instance = GoodsImage() goods_image_instance.image = goods_image goods_image_instance.goods = goods goods_image_instance.save()
三、restful api 与前端源码介绍
restful api 介绍
1、前后端分离优点:
1)pc,app,pad多端适应
2)SPA开发模式开始流行
单页面应用。最流行的方式就是前后端分离,后端提供接口
3)不分离情况下,前后端开发职责不清
4)开发效率问题,前后端互相等待
5)前端一直配合着后端,能力受限
6)后台开发语言和模板高度耦合,导致开发语言依赖严重
2、前后端分离缺点:
1)前后端学习门槛增加,后端的if else语法。这些根据数据展示页面交给前端做了
2)数据依赖导致文档重要性增加,以前交给后端,后端一个人看懂
3)前端工作量加大
4)seo的难度加大,爬虫请求不到数据。有专门的优化
5)后端开发模式迁移增加成本
restful api
restful api 目前是前后端分离最佳实践(一套标准,建议)
- 轻量,直接通过http,不需要额外协议,post/get/put/delete操作
- 面向资源,一目了然,具有自解释性。
资源是名词,post等是动词
restful api设计细节
1、协议
API与用户的通信协议,总是使用HTTPs协议。
2、域名
应该尽量将API部署在专用域名之下:
https://api.example.com
如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下:
https://example.org/api/
3、版本
应该将API的版本号放入URL:
https://api.example.com/v1/
另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法
4、路径
在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用的名词往往与数据库的表格名对应。一般来说,数据库中的表都是同种记录的"集合"(collection),所以API中的名词也应该使用复数。
- https://api.example.com/v1/zoos
- https://api.example.com/v1/animals
- https://api.example.com/v1/employees
5、HTTP动词
GET(SELECT):从服务器取出资源(一项或多项)。
POST(CREATE):在服务器新建一个资源。
PUT(UPDATE):在服务器更新资源(客户端提供改变后的完整资源)。
PATCH(UPDATE):在服务器更新资源(客户端提供改变的属性)。
DELETE(DELETE):从服务器删除资源。
6、过滤信息
?limit=10:指定返回记录的数量 ?offset=10:指定返回记录的开始位置。 ?page=2&per_page=100:指定第几页,以及每页的记录数。 ?sortby=name&order=asc:指定返回结果按照哪个属性排序,以及排序顺序。 ?animal_type_id=1:指定筛选条件
参数的设计允许存在冗余,即允许API路径和URL参数偶尔有重复。比如,GET /zoo/ID/animals 与 GET /animals?zoo_id=ID 的含义是相同的。
7、状态码
200 OK - [GET]:服务器成功返回用户请求的数据,该操作是幂等的(Idempotent)。 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功。 202 Accepted - [*]:表示一个请求已经进入后台排队(异步任务) 204 NO CONTENT - [DELETE]:用户删除数据成功。 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。 401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。 404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。 406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。 410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。 422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功
8、错误处理
如果状态码是4xx,就应该向用户返回出错信息。一般来说,返回的信息中将error作为键名,出错信息作为键值即可。
{ error: "Invalid API key" }
9、返回结果
针对不同操作,服务器向用户返回的结果应该符合以下规范。
GET /collection:返回资源对象的列表(数组) GET /collection/resource:返回单个资源对象 POST /collection:返回新生成的资源对象 PUT /collection/resource:返回完整的资源对象 PATCH /collection/resource:返回完整的资源对象 DELETE /collection/resource:返回一个空文档
10、Hypermedia API
RESTful API最好做到Hypermedia,即返回结果中提供链接,连向其他API方法,使得用户不查文档,也知道下一步应该做什么。
比如,当用户向api.example.com的根目录发出请求,会得到这样一个文档。
{"link": { "rel": "collection https://www.example.com/zoos", "href": "https://api.example.com/zoos", "title": "List of zoos", "type": "application/vnd.yourformat+json" }}
11、其他
(1)API的身份认证应该使用OAuth 2.0框架。
(2)服务器返回的数据格式,应该尽量使用JSON,避免使用XML。
restful api 相关,推荐阅读:
vue基本概念介绍
1、前端工程化
类似后端工程化
2、数据双向绑定
mvvm(模式、框架):数据驱动view,view又反过来作用数据
3、组件化开发
组件化开发,开发单个组件,组件化,可以单独移植到其他项目应用,不需要跟bootstrap一样,引入个组件就需要引入库各种数据
vue开发中的几个概念:
1、webpack
重要,属于js工具;webpack将所有东西打包变成一个js文件。
2、vue vuex(组件通讯) vue_router(单页面的路由) axios
前端内部自己跳转,发送ajax请求。不推荐操作dom。
jQuery导入进来只用ajax。不如axios。
3、ES6, babel
es6语法。babel将es6转换为es5。
vue项目的目录结构
vue的组件方案
babel配置文件
mock数据
- api就是我们现在请求网络的api,所有组件的api通过这个设置。
- axios设置了全局拦截401
- components是基础组件
- router 路由
- style 全局静态文件
views中可以看到我们所有组件。
- header组件。
- 轮播图
- 新品
- 分页组件
- 个人中心三组件
- 结算组件