导入商品数据

来自CloudWiki
跳转至: 导航搜索

编写导入脚本

在db_tooles目录下 新建文件import_goods_data.py

import sys
import os


pwd = os.path.dirname(os.path.realpath(__file__))
parent_path = os.path.dirname(pwd)
sys.path.append(parent_path)
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"]
    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]
    category = GoodsCategory.objects.filter(name=category_name)
    if category:
        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()

执行脚本:

python3 import_goods_data.py

验证:

Bd20-3-24.png

显示图片

但是现在不显示图片, 如图:

Bd20-3-25.png

mxshop/settings.py 添加:

MEDIA_URL = '/media/"
MEDIA_ROOT = os.path.join(BASE_DIR,"media")

mxshop/urls.py

from django.conf.urls import url
from django.contrib import admin
import xadmin
from mxshop.settings import MEDIA_ROOT
from django.views.static import serve
urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
    url(r'^media/(?P<path>.*)$', serve, {"document_root": MEDIA_ROOT}),