vue+django restful framework 电商项目(三) -- xadmin安装和 商品数据的导入

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/FourLeafCloverLLLS/article/details/85924012

         xadmin的安装和配置详见博客:http://www.cnblogs.com/shhnwangjian/p/6372503.html   途中可能会遇到缺少什么包, 用pip安装就是了. 此部配置直到能进xadmin后台就可以了.

        接下来我们配置我们项目需要用到的一些功能.

        首先是我们来把富文本编辑器嵌入在xadmin中, xadmin的官方文档:https://xadmin.readthedocs.io/en/docs-chinese/make_plugin.html#id1   我们的项目嵌套ueditor教程详见: http://www.cnblogs.com/derek1184405959/p/8747961.html

        因为这个xadmin插件开发不是一时半会能学会的, 我们主要的目的是学会drf 我们照着教程做吧.

        注意教程中有一个url的写法因为版本的不同有bug,

      

       改为

      这是因为他们使用的django2.0版本, 而我们使用的是1.10版本.

  4.3.注册app到xadmin后台

         每个app下都新建adminx.py  为什么要建?  因为: 类似django自动生成的admin.py文件,xadmin会自动在每个app下搜索    xadminx.py并注册, 这是xadmin的运行机制.

4.3.1注册users到xadmin

我们来一张效果图吧.

        注册前:

注意: 这里的用户信息是django中管理后台者的用户信息, 并不是商城网站用户者的信息, 管理后台用户信息无论是django自带的admin还是xadmin, 都会自动生成的,

      注册后:

我们这只把短信验证表的视图类注册到后台, 至于为什么不把商城用户的信息注册到后台, 我暂且也不知道, 等到老师再讲吧,

注意看左上角的慕学生鲜和右下角的llls_making, 这就是代码中:

这里实现的.不好意思, 慕学的慕写错了, 我这就改过来. 接下来我们看看这一块的效果

变成后:变更前: , 很明显就是把类视图的名字由原来的users -> 用户管理.

4.3.1注册goods

我们这里讲一下一个重点知识,在上面那个博客中的这一段代码:

# 在添加商品的时候可以添加商品图片
    class GoodsImagesInline(object):
        model = GoodsImage
        exclude = ["add_time"]
        extra = 1
        style = 'tab'
    inlines = [GoodsImagesInline] # 一对多模型中管理界面可以管理多个module

这一段代码是为了在添加商品的时候可以添加商品图片

其他商品类我们就不讲了, 因为都是xadmin的基础知识.

4.4.导入商品类别数据

         我们做测试一定要大量的数据, 那么这些数据都是手动一个一个导入进去吗?  这不是很没效率, 别忘了, 人的脑子是用来想问题的, 而不是用来做重复的事的. python原来本来就是做自动化相关的, 我们用python来自动导入吧.

我本来想讲一下这一段代码怎么来的

# db_tools/data/import_category_data.py

#独立使用django的model
import sys
import os

#获取当前文件的路径(运行脚本)
pwd = os.path.dirname(os.path.realpath(__file__))
#获取项目的跟目录
sys.path.append(pwd+"../")
#要想单独使用django的model,必须指定一个环境变量,会去settings配置找
#参照manage.py里面就知道为什么这样设置了
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MxShop.settings")

import django
django.setup()

结果出来的基本都是如何去用, 而都不会去纠结这些语句都是干嘛用的, 唉....  实在找不到, 我们先照着模板用的吧.

代码的理解和书写, 自己独立完成吧, 我就不详细写了, 因为这都比较基础,

导入成功后, 我们点开一个数据看,

这里为什么图片没有显示, 只是一个名称, 这是因为还没有配置静态文件, django静态文件的配置详见: https://segmentfault.com/a/1190000004232816

在这里直接按照最顶层的博客教程做. 由于博客中的django版本和我们的不一样, 需要做一定的修改,  urls改为

from django.views.static import serve
from VueShopProject.settings import MEDIA_ROOT

urlpatterns = [
    url('xadmin/', xadmin.site.urls),
    url(r'^ueditor/', include('DjangoUeditor.urls')),
    url(r'media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),
]

我们再次运行django, 看看图片显示出来了没有

图片显示正常!

猜你喜欢

转载自blog.csdn.net/FourLeafCloverLLLS/article/details/85924012