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

yipeiwu_com6年前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设计】。

相关文章

python读写ini文件示例(python读写文件)

很类似java的properties文件xml文件复制代码 代码如下:db_config.ini[baseconf]host=127.0.0.1port=3306user=rootpas...

Python中eval带来的潜在风险代码分析

0x00 前言 eval是Python用于执行python表达式的一个内置函数,使用eval,可以很方便的将字符串动态执行。比如下列代码: >>> eval("1...

Python标准库内置函数complex介绍

本函数可以使用参数real + imag*j方式创建一个复数。也可以转换一个字符串的数字为复数;或者转换一个数字为复数。如果第一个参数是字符串,第二个参数不用填写,会解释这个字符串且返回...

python3 读写文件换行符的方法

最近在处理文本文件时,遇到编码格式和换行符的问题。 基本上都是GBK 和 UTF-8 编码的文本文件,但是python3 中默认的都是按照 utf-8 来打开。用不正确的编码参数打开,在...

解决python3读取Python2存储的pickle文件问题

我在使用python3.5处理一个序列化文件xxx.pk,不过这个.pk文件是我在python2.7里面存储的,当我用python3读取的时候就会报如下的错误。 import pic...