django使用admin站点上传图片的实例

yipeiwu_com5年前Python基础

Django有提供文件系统支持,在Admin站点中可以轻松上传图片。使用Admin站点保存图片,需要安装Python的图片操作包

pip install Pillow

1 配置

默认情况下,Django会将上传的图片保存在本地服务器上,需要配置保存的路径。我们可以将上传的文件保存在静态文件目录中,如我们之前设置的static_files目录中在settings.py 文件中添加如下上传保存目录信息

MEDIA_ROOT=os.path.join(BASE_DIR,"static_files/media")

2 为模型类添加ImageField字段

我们为之前的BookInfo模型类添加一个ImageFiled

class BookInfo(models.Model):
 ...
 image = models.ImageField(upload_to='booktest', verbose_name='图片', null=True)

upload_to 选项指明该字段的图片保存在MEDIA_ROOT目录中的哪个子目录,进行数据库迁移操作

python manage.py makemigrations
python manage.py migrate

3 使用Admin站点上传图片

进入Admin站点的图书管理页面,选择一个图书,能发现多出来一个上传图片的字段admin站点图片字段,选择一张图片并保存后,图片会被保存在static_files/media/booktest/目录下。

在数据库中,我们能看到image字段被设置为图片的路径。

以上这篇django使用admin站点上传图片的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈python3.6的tkinter运行问题

python3.6在运行tkinter时要选择 run as Python unit-test, 否则报错 ModuleNotFoundError: No module named 't...

python实现两张图片拼接为一张图片并保存

python实现两张图片拼接为一张图片并保存

本文实例为大家分享了python实现两张图片拼接为一张图片并保存的具体代码,供大家参考,具体内容如下 这里主要用Python扩展库pillow中Image对象的paste()方法把两张图...

浅谈python中np.array的shape( ,)与( ,1)的区别

如下所示: >>> import numpy as np >>> x = np.array([1, 2]) >>> y = np...

Windows上配置Emacs来开发Python及用Python扩展Emacs

Windows下配置Emacs来开发Python 去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Em...

如何给Python代码进行加密

这篇文章主要介绍了如何给Python代码进行加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 去年11月在PyCon China 2...