我正试图在模型中创建一个字段,该字段应该存储注册用户的图像.
此映像应重命名并存储在单独的用户目录(如media/users/10/photo.jpeg
)中.
我搜索了很多,但仍然找不到如何干净、正确地完成它.在我看来,许多网站需要相同的功能,这应该在django文档中,但事实并非如此.
我正试图在模型中创建一个字段,该字段应该存储注册用户的图像.
此映像应重命名并存储在单独的用户目录(如media/users/10/photo.jpeg
)中.
我搜索了很多,但仍然找不到如何干净、正确地完成它.在我看来,许多网站需要相同的功能,这应该在django文档中,但事实并非如此.
您想要在ImageField
上使用"UPLOAD_TO"选项
#models.py
import os
def get_image_path(instance, filename):
return os.path.join('photos', str(instance.id), filename)
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
profile_image = ImageField(upload_to=get_image_path, blank=True, null=True)
这是直接来self 的一个项目的代码.上传的图像将达到/MEDIA_ROOT/photos/<user_id>/filename
对于您想要的内容,只需将"照片"字符串更改为"用户"(以def get_image_path
为单位
以下是文档中关于它的一小部分,在FileField个细节之下