处理上传图片django admin python

Sia*_*osh 2 python django image-uploading django-admin

我在Windows上用Python Django开发一个应用程序我试图在我的一个类中添加一个图像上传字段,但是我得到错误,我必须提到我需要给一个相对路径到settings.py所以我可以轻松将我的代码迁移到另一个平台

我应该如何填写settings.py中的以下变量以使它们工作

MEDIA_ROOT = #root to my project

MEDIA_URL = #url 
Run Code Online (Sandbox Code Playgroud)

而在models.py我有

class ProdcutImage(models.Model):
    product = models.ForeignKey(Product)
   image = models.ImageField(upload_to = "/products" )
Run Code Online (Sandbox Code Playgroud)

我需要将图像上传到此文件夹中:

"MY_PROJECT_ADDRESS/static/images/products"
Run Code Online (Sandbox Code Playgroud)

您的帮助将不胜感激

小智 6

我建议你按照这个答案

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

并且最好将上传文件转到与静态不同的目录,但是如果要将其上载到此目录:

class ProdcutImage(models.Model):
    product = models.ForeignKey(Product)
   image = models.ImageField(upload_to = "static/images/products" )
Run Code Online (Sandbox Code Playgroud)

settings.py

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
Run Code Online (Sandbox Code Playgroud)

并在urls.py

from django.conf.urls.static import static
from django.conf import settings


+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)  #at the end
Run Code Online (Sandbox Code Playgroud)