Django:ImageField 需要文件路径还是实际的图像对象?

2024-05-26

Running:Windows 7、Python 3.3、Django 1.6

我对如何将图像存储为 Django 数据库中表的一部分感到困惑。有一个领域叫做ImageField,这是Docs https://docs.djangoproject.com/en/1.6/ref/models/fields/#imagefield.

问题:

构建记录时我应该向 ImageField 传递什么:文件路径字符串?图像的 URL?或者图像本身的字节表示?或者是否有某种方法将图像加载到 Django 中,然后将其传递给该图像对象的引用(或指针)?

文档说:“默认情况下,ImageField 实例在数据库中创建为 varchar(100) 列。”,这让我认为它需要一个文件路径,因为它要求一个字符串。

文档还说它“需要 Pillow 库”,我已经下载了它,但它没有指定如何使用 Pillow 来实现此目的。

背景:我正在通过 django 构建 REST API,以发送和接收来自 Selenium 测试的日志文件并将它们存储在 SQL 数据库中。每个日志文件都带有屏幕截图,因此需要 ImageField。几天前刚开始使用 Django。


通过图像字段和图像字段派生的表单,您可以将图像上传到 MEDIA_ROOT。

Imagefield 存储图像的路径。检查 django 文档的“媒体”部分,它描述了如何存储用户上传的图像。

图像字段还定义了图像的一些基本属性,例如宽度和高度。

在您的setting.py 文件中设置:

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

这表示我想将上传的文件存储在您的项目/媒体中,并且我也想在其中显示它们 www.yoursite.com/media/path_to_image/image.png

然后你可以定义一个带有imagefield的类。

class YourClass(models.Model):
    description = models.CharField(max_length=300, unique=True)
    picture = models.ImageField(upload_to='myimages')

因此图像将存储在 yourproject/media/myimages 中并可在 www.yoursite.com/media/myimages/image.png

创建新实例:

 from django.core.files import File
 from idontknow import YourClass

 yournewclass = YourClass(description='abc')

 yournewclass.picture.save('name.png',  File(open('path_to_pic/image.png', 'r'))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django:ImageField 需要文件路径还是实际的图像对象? 的相关文章

随机推荐

  • Maven 快速入门指南 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我的任务是为工作中的新程序设置开发环境 领导者选择 Eclipse 作为其 OSGi 支持的 IDE 并选择 Maven 作为构建实用程序
  • 如何在 Rails 中格式化日期时间?

    在我的 Rails 视图中 我有以下显示日期时间的代码 该行的结果如下 2013 02 02 01 00 00 UTC 我该如何更改它 使其显示为 2 2 13 X 00 PST 使用红宝石的strftime 关于日期 日期时间 看一下文档
  • Kafka Streams - 如何扩展 Kafka 存储生成的变更日志主题

    我有多个冗余应用程序实例 它们想要使用主题的所有事件并独立存储它们以进行磁盘查找 通过rocksdb 为了便于论证 我们假设这些冗余消费者正在服务无状态 http 请求 因此 负载不是使用 kafka 共享的 而是使用 kafka 将数据从
  • DirectX::SpriteFont/SpriteBatch 阻止 3D 场景绘制

    我使用时遇到问题DirectX SpriteFont DirectX SpriteBatch 来自 DirectXTK 与此处讨论的问题完全相同 使用 SpriteFont 类绘制文本时出现问题 https stackoverflow co
  • 是否可以仅使用一个实例来创建片段

    我只是想知道 片段创建只能有一个实例或单例吗 我经历了谷歌iosched项目也 他们只是简单地创造 Fragment a new Fragment 每当他们想要 假设例如 public static FragmentManager inst
  • 从文件中读取行,处理它,然后将其删除

    我有一个 22mb 的文本文件 其中包含数字列表 每行 1 个数字 我试图让 python 读取数字 处理数字并将结果写入另一个文件中 所有这些都有效 但如果我必须停止该程序 它就会从头开始 我一开始尝试使用mysql数据库 但它太慢了 我
  • 使用 PIP 从 Github 安装 Python 包

    我已经看到文档表明您可以通过以下方式使用 pip 安装托管 Python 包的 Github sudo pip install e git git github com myuser myproject git egg myproject
  • 水晶报表参数选择有限制吗?

    我正在尝试根据按用户分组的 Oracle 数据库制作 Crystal Reports 11 报告 我有超过一千个用户 我想创建一个参数字段 提示用户选择他们想要查看其结果的用户 但是我的参数选择字段仅显示 221 个可能的用户 由于 SQL
  • 为什么这个 rspec 请求规范不更新模型?

    我有一个与用户模型交互的请求规范 我想确保具有管理员角色的用户可以创建 编辑 销毁用户 我现在遇到一个问题 编辑操作无法更新用户 当我手动执行网站本身的操作时 一切正常 但测试无法更新用户 这是我的规格 it edits a user do
  • 当我的 Mac 进入睡眠状态时,我的应用程序会发生什么情况?

    当 Mac OS X 进入睡眠状态时 由于关闭笔记本电脑或从 Apple 菜单中选择 睡眠 它如何暂停正在执行的进程 我认为非窗口进程只是在任意执行点挂起 对于 Cocoa 应用程序来说也是如此 还是操作系统会等到控制权返回到运行循环调度程
  • 如何从 Java jar 文件中读取资源文件?

    我正在尝试从作为桌面应用程序运行的单独 jar 访问 jar 文件中的 XML 文件 我可以获得所需文件的 URL 但是当我将其传递给 FileReader 作为字符串 时 我收到 FileNotFoundException 提示 文件名
  • 找出 Maven 使用的编译器

    您知道我如何找到 Maven 使用哪些 JDK 来编译我的项目吗 mvn version会吐出maven的版本和它正在使用的jdk
  • 为什么 astyanax (java) 无法识别我的 scala 案例类参数列表中的 @Id 注解值?

    所以这是我的困境 我有一个域模型 其中有一堆 scala 中的案例类 例如User and Organization 在我的数据访问层 dao 存储库等 中 我使用 astyanax 来自 netflix 的 java 库 及其实体持久器将
  • iOS 版本中的 Twitter 个人资料屏幕是如何构建的?

    我想知道 Twitter 是如何实现其个人资料屏幕的 起初我以为它是一个带有标题 个人资料信息 和部分标题 用于选择推文 媒体 收藏夹的分段控件 的表格视图 这对我来说是有意义的 因为当用户向下滚动时 配置文件信息消失 但分段控件保留 而这
  • 如何在没有 ServiceHost 类的情况下使用 WCF 创建简单的 Web 服务器?

    我已经开始学习 WCF 并希望通过直接使用通道堆栈创建一个简单的 Web 服务器来了解其内部结构 我在网络上找到了很多理论 但我希望看到一个接收和响应 httprequest 的工作示例代码 我可以使用任何浏览器进行测试 我希望能够通过组装
  • 以编程方式设置 UITabBarItem 标题?

    我的应用程序基于标签栏架构 为了有一个简单的国际化机制 我不在 XIB 文件中写入任何字符串 viewdidload 允许以编程方式更改视图中的字符串 当我的应用程序启动时 我可以看到 4 个选项卡 但实际上只有第一个加载其视图控制器 其他
  • 计算向量的导数

    我有以下函数 维维亚尼曲线 Phi t cos t 2 cos t sin t sin t 只需检查它是否有效 s linspace 0 T 1000 plot3 cos s 2 cos s sin s sin s 如何推导函数Phi 可能
  • Boost Graph Library:防止DFS访问未连接的节点

    我有一个双向图 一些顶点未连接 我用升压 深度优先搜索遍历顶点 我还提供了起始源节点 我看到在连接的节点完成后 未连接的顶点也被处理 如何防止访问此类节点 事实上 我怎样才能告诉DFS只访问那些从源节点可达的节点而不访问其他任何节点呢 我有
  • 数据同步的离线/在线模式 - firestore

    我开发了一个基于Firestore的Android APP 用于数据库存储数据 用户希望手动 通过APP上的按钮 控制离线 不与firestore服务器同步 之间的切换 和在线 与 firestore 服务器启用同步 模式 是否有特定的 F
  • Django:ImageField 需要文件路径还是实际的图像对象?

    Running Windows 7 Python 3 3 Django 1 6 我对如何将图像存储为 Django 数据库中表的一部分感到困惑 有一个领域叫做ImageField 这是Docs https docs djangoprojec