打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python测试开发django-47.xadmin上传图片和文件

前言

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后台页面

新增上传图片页面

上传完成后查询详情页面

2019年《python3接口自动化》课程3月17-4月14开课
主讲老师:上海-悠悠
上课方式:QQ群视频在线教学
上课时间:每周六、周日晚上20:30-22:30
报名费:1000

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
xadmin与django
Django 开发内容管理系统
一篇文章教会你使用Django根据现有数据库反向生成models
django怎么重新迁移文件
Django开发常用
002Django 创建第一个项目 | 菜鸟教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服