美文网首页
Part13 Xadmin上传控件一览

Part13 Xadmin上传控件一览

作者: 不愿透露姓名的撸大湿 | 来源:发表于2018-06-14 11:57 被阅读0次

    一、前言

    本Part,将介绍Django-Xadmin的图片上传控件和文件上传控件的使用和效果。包括:
    1、图片上传
    2、文件上传

    二、目录结构总览

    1、本part,我们在这个结构下进行代码填充:

    Project 目录 (Django-Xadmin学习项目)
    |
    |-- app         
    |   `-- practise  
    ...
    

    三、图片上传控件要求安装pillow

    1、如果Python环境没有安装pillow的情况下,写好上传控件运行项目会报如下错误:

    ERRORS:
    practise.Upload.upload_image: (fields.E210) Cannot use ImageField because Pillow is not installed.
    HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install Pillow".

    2、激活Python虚拟环境,安装Pillow


    cmd激活虚拟环境

    键入如下命令:

    pip install Pillow
    
    pip安装Pillow

    四、追加代码

    1、在project/app/practise/models.py,追加代码:

    class Upload(models.Model):
        # 指定上传路径为项目load路径,其中%Y是取当前日期年,%m取当前日期月
        UPLOAD_PATH_FILE = 'upload/file/%Y/%m'
        UPLOAD_PATH_IMAGE = 'upload/image/%Y/%m'
    
        title = models.CharField(max_length=10, verbose_name=u'标题')
        upload_file = models.FileField(upload_to=UPLOAD_PATH_FILE, max_length=100, verbose_name=u'文件上传案例', null=True, blank=True,)
        upload_image = models.ImageField(upload_to=UPLOAD_PATH_IMAGE, max_length=100, verbose_name=u'图片上传案例', null=True, blank=True,)
    
        # 上传控件报错,ERRORS:
        # practise.Upload.upload_image: (fields.E210) Cannot use ImageField because Pillow is not installed.
        #   HINT: Get Pillow at https://pypi.python.org/pypi/Pillow or run command "pip install Pillow".
    
        class Meta:
            verbose_name = u'上传控件一览'
            verbose_name_plural = verbose_name
    

    2、在数据库生成新定义的表,Tools 工具栏运行 run manage.py Task输入:

    makemigrations
    migrate
    

    3、数据库多了一张class对应的表


    五、把这app注册到xadmin后台管理系统

    1、在apps\practise\adminx.py文件追加:

    from .models import Upload
    
    
    class UploadAdmin(object):
        list_display = ['title']  # 控制显示列数  
        search_fields = ['title']  # 控制搜索框的显示
        list_filter = ['title']  # 控制筛选
    
    xadmin.site.register(Upload, UploadAdmin)
    

    六、查看效果

    1、重启项目
    2、查看效果


    图片格式验证 文件上传 上传结果 本地项目路径查看

    相关文章

      网友评论

          本文标题:Part13 Xadmin上传控件一览

          本文链接:https://www.haomeiwen.com/subject/uxoeeftx.html