Part13 Xadmin上传控件一览

一、前言

本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、查看效果


图片格式验证
文件上传
上传结果
本地项目路径查看
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    小迈克阅读 3,063评论 1 3
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 26,599评论 6 427
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 2,228评论 0 3
  • (转载) GitHub 上有一个 Awesome ­ XXX 系列的资源整理,资源非常丰富,涉及面非常广。awes...
    真是明明阅读 3,159评论 2 80
  • 細雨落桂香 冷月葬花殤 溪水潺潺草木黃 遠山濛濛秋意濃 登高望遠秋意濃 霜染葉黃路悠長 花瓣盈盈間 滴滴不是離人淚...
    林素兮阅读 128评论 6 4