Python 在mysql/django中将图像保存在后端数据库中是一种好做法吗?
我正在尝试创建我的个人网页。因此,我需要加入推荐小组,其中包含前雇员/朋友等的推荐 因此,我计划在django中创建一个具有以下属性的模型:-Python 在mysql/django中将图像保存在后端数据库中是一种好做法吗?,python,mysql,django,Python,Mysql,Django,我正在尝试创建我的个人网页。因此,我需要加入推荐小组,其中包含前雇员/朋友等的推荐 因此,我计划在django中创建一个具有以下属性的模型:- 作者姓名 作者名称 作者图片 作者评论 关于图像部分,我有以下问题:- 将图像存储在后端数据库中是否是一种良好的做法?(据我所知,数据库用于结构化信息) 如何存储图像,使内容的缩放和管理变得非常简单 最好的方法是将图像存储在服务器的某个特定的通用文件夹中。之后,在数据库中存储一个字符串,其中包含要加载的图像的路径。这将是一种更有效的方法。简言之:不 使用
最好的方法是将图像存储在服务器的某个特定的通用文件夹中。之后,在数据库中存储一个字符串,其中包含要加载的图像的路径。这将是一种更有效的方法。简言之:不 使用Django的内置软件,让您的Web服务器从磁盘提供文件服务
或者,您可以将ImageField与自定义文件一起使用,例如,将文件放在Amazon S3上,并从那里提供服务(可能在前面添加类似CloudFront CDN的内容)不。不好,尤其是在扩展时 当您考虑请求/响应周期中发生的事情时,您将知道python脚本会被一些模块解释。因此,如果您使用的是apache,mod_wsgi可以完成这项工作。
通常,您不希望静态文件由同一个进程提供服务,因为静态文件是静态的,这不是很有效。在一个典型的场景中,您需要一个非常快速的web服务器,比如说nginx,它不需要“思考”就能为您的静态内容提供服务。该委托提供了一个非常高效和可扩展的设计。正如@Anentropic所说,您可以选择在CDN上承载静态媒体。不要在数据库中存储图像,只存储图像文件的路径。