Django Admin 站点实现图片上传完整指南

咖啡半糖
咖啡半糖
发布时间:2026-10-13| 6人浏览过
原创

本文详细介绍如何在 Django Admin 站点中实现图片上传功能。通过安装 Pillow 库、配置 MEDIA_ROOT 路径、在模型类中定义 ImageField 字段以及执行数据库迁移,即可完成图片存储配置。最终通过 Admin 界面上传的图片将自动保存至指定目录,并在数据库中记录路径。

Django Admin 上传图片配置指南

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 模型类添加一个 ImageField 字段。


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

Admin 上传操作验证

3 使用 Admin 站点上传图片

进入 Admin 站点的图书管理页面,选择一本图书,你会发现新增了一个上传图片的字段。选择一个图片文件并保存后,该图片将被保存在 static_files/media/booktest/ 目录下。

此时,在数据库中查看,可以看到 image 字段已被设置为图片的存储路径。

以上即为 Django 使用 Admin 站点上传图片的完整实例,希望能为读者提供参考与支持。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。