vue+django2.0.2-rest-framework 生鲜项目(三)
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-exportpip install xlwt xlsxwriter xadmin依賴包安裝
?
?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 = TrueUSE_L10N = True# 數據庫存儲使用時間,True時間會被存為UTC的時間 USE_TZ = False # 設置上傳文件,圖片訪問路徑 STATIC_URL = '/static/'STATICFILES_DIRS = [os.path.join(BASE_DIR, "static"), ] # 數據存放 MEDIA_URL = "/media/"MEDIA_ROOT = os.path.join(BASE_DIR, "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.pyimport xadminfrom django.urls import path,includeurlpatterns = [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_ROOTurlpatterns = [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': '精選茗茶'} ] category_data?
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 product_data?
?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 GoodsCategoryfrom 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 = 1lev1_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 = 2lev2_intance.parent_category = lev1_intancelev2_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 = 3lev3_intance.parent_category = lev2_intancelev3_intance.save() import_category_data?
?import_goods_data.py:
# encoding: utf-8import sys import ospwd = 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, GoodsImagefrom db_tools.data.product_data import row_datafor 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_imagegoods_image_instance.goods = goodsgoods_image_instance.save() import_goods_data?
三、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 目前是前后端分離最佳實踐(一套標準,建議)
資源是名詞,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 相關,推薦閱讀:
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組件。
- 輪播圖
- 新品
- 分頁組件
- 個人中心三組件
- 結算組件
?
轉載于:https://www.cnblogs.com/Eric15/articles/9527556.html
總結
以上是生活随笔為你收集整理的vue+django2.0.2-rest-framework 生鲜项目(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Springboot手机验证码
- 下一篇: LintCode_138——子数组和为零