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 系列...
    小迈克阅读 2,432评论 1 3
  • # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列...
    aimaile阅读 25,012评论 6 426
  • # Awesome Python [![Awesome](https://cdn.rawgit.com/sindr...
    emily_007阅读 1,674评论 0 3
  • (转载) GitHub 上有一个 Awesome ­ XXX 系列的资源整理,资源非常丰富,涉及面非常广。awes...
    真是明明阅读 2,774评论 2 80
  • 細雨落桂香 冷月葬花殤 溪水潺潺草木黃 遠山濛濛秋意濃 登高望遠秋意濃 霜染葉黃路悠長 花瓣盈盈間 滴滴不是離人淚...
    林素兮阅读 67评论 7 4
  • 半夜不睡,起床看了会儿,wuli谦谦的《大学生来了》,本以为是搞笑篇,结果是个煽情的节奏,可能触动了某个盒子男生...
    心里扑通扑通乱跳阅读 297评论 2 2
  • 2016年1月28号买入了第一只股票普洛药业(rmb:5.978),1月29日卖出(rmb:6.02)挣了8块钱抄...
    kirayamato阅读 113评论 0 0
  • 前天,“金扫帚奖”颁奖典礼上,王宝强因电影《大闹天竺》获“最令人失望导演奖”。这是该奖举办以来到场领奖的首位一线明...
    d67909f18af7阅读 364评论 0 0