处理上传图片django admin python

handling uploading image django admin python

我正在Windows上用python django开发一个应用程序,我试图在我的一个类中添加一个图像上载字段,但是我遇到了错误,我必须提到我需要给settings.py提供一个相对路径,这样我就可以轻松地将代码迁移到另一个平台。

我应该如何在settings.py中填充以下变量以使它们正常工作

1
2
3
MEDIA_ROOT = #root to my project

MEDIA_URL = #url

在models.py中我有

1
2
3
class ProdcutImage(models.Model):
    product = models.ForeignKey(Product)
   image = models.ImageField(upload_to ="/products" )

我需要将图片上载到此文件夹中:

1
"MY_PROJECT_ADDRESS/static/images/products"

谢谢你的帮助


我建议你遵循这个答案

需要一个最小的django文件上传示例

上载文件最好转到与静态文件不同的目录,但如果要上载到该目录:

1
2
3
class ProdcutImage(models.Model):
    product = models.ForeignKey(Product)
   image = models.ImageField(upload_to ="static/images/products" )

设置.py

1
2
3
4
5
import os
PROJECT_ROOT = os.path.realpath(os.path.dirname(__file__))

MEDIA_ROOT = PROJECT_ROOT + '/static/images/products/'
MEDIA_URL = '/media/'  #put whatever you want that when url is rendered it will be /media/imagename.jpg

在urls.py中

1
2
3
4
5
from django.conf.urls.static import static
from django.conf import settings


+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)  #at the end