前言

xadmin上传图片和上传文件功能

依赖环境

如果没安装Pillow的话,会有报错: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".

需先安装Pillow环境

pip install Pillow

models模块设计

先设计一个model,用ImageField存放图片,FileField放文件,upload_to参数是存放的目录

# models.py

from django.db import models
from django.utils import timezone # Create your models here. class FileImage(models.Model):
'''上传文件和图片'''
title = models.CharField(max_length=30, verbose_name="名称", default="") # 标题
image = models.ImageField(verbose_name="上传图片", upload_to="up_image", blank=True)
fiels = models.FileField(verbose_name="上传文件", upload_to="up_file", blank=True)
add_time = models.DateField(auto_now=True, verbose_name="添加时间") def __str__(self):
return self.__doc__ + "title->" + self.title class Meta:
verbose_name = "上传文件和图片"
verbose_name_plural = verbose_name

adminx.py文件注册表信息

# adminx.py
import xadmin
from xadmin import views
from .models import FileImage class ControlFiles(object):
list_display = ['title', "add_time"] xadmin.site.register(FileImage, ControlFiles)

urls.py配置图片的URL地址访问,要不然查询详情的时候缩略图无法正常显示

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

settings.py配置

在settings.py配置上传文件的目录地址

MEDIA_URL = '/media/'

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

配置好之后,执行 makemigrations 和migrate,同步数据

python manage.py makemigrations
python manage.py migrate

在xadmin上传图片后,会自动生成media目录

xadmin后台页面

新增上传图片页面

上传完成后查询详情页面

最新文章

  1. Linux命令集合
  2. MVC后台数据赋值给前端JS对象
  3. iOS 里面 NSTimer 防止 循环引用
  4. Code First03---CodeFirst根据配置同步到数据库的三种方式
  5. Web 登陆界面---简单模块1
  6. silverlight,动态数据集合中,移除动态集合自身的内容
  7. IOS数据解析JSON
  8. UML类图关系大全-转
  9. JavaWeb项目开发案例精粹-第2章投票系统-006view层
  10. CodeForces Round #286 Div.2
  11. wcf自身作为宿主的一个小案例
  12. Space Shooter
  13. synchronized与条件同步
  14. PYTHON定义函数制作简单登录程序(详细)
  15. Linux查看机器负载
  16. day-01(html)
  17. 第二次作业-git的基本操作
  18. spring上传文件
  19. 【PyQt5-Qt Designer】QDoubleSpinBox-小数微调框
  20. 【大数据】Zookeeper学习笔记

热门文章

  1. java.lang.ClassNotFoundException: com.*.*.entity.time.Q*
  2. LeetCode 100. Same Tree (判断树是否完全相同)
  3. 【SpringBoot】SpringBoot与SpringMVC自动配置(五)
  4. Elasticsearch6.2.1安装elasticsearch-sq插件
  5. springboot docker 部署
  6. replace的回调函数。
  7. c++中共享内存原理及实现
  8. PHP对二维数组进行排序
  9. [转帖]Stack Overflow上188万浏览量的提问:Java 到底是值传递还是引用传递?
  10. JVM中内存的设置和分配(最大内存,总内存,剩余内存的区别)