无法使用Mongoengine ImageField将图像上传到MEDIA_ROOT

时间:2018-12-11 16:57:19

标签: python django mongodb mongoengine imagefield

我正在尝试使用Mongoengine ImageField上传图像。 但是上传测试图像后,访问http://127.x.x.x:xxxx/media/testimage.png找不到页面。

  

提出者:django.views.static.serve   “ /Users/xxx/Documents/basedir/media/testimage.png”不存在

myproject / settings.py

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')

myproject / myapp / models.py

from mongoengine import Document, ImageField

class Image(Document):
        image = ImageField(upload_to="")
        filename = fields.StringField()

myproject / urls.py

from django.conf import settings
urlpatterns = [
    #bla
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我做错了什么?

1 个答案:

答案 0 :(得分:0)

您可能想看看这个。它相当详尽,并提供了配置静态文件所需的每个步骤。 404 Error for django serving static files. How to setup django to serve static files?。看来您肯定缺少STATICFILES_DIRS,并且还运行过python manage.py collectstatic命令吗?

确认您的ImageField的upload_to也是正确的也是很好的。您可以在外壳中对此进行验证。 python manage.py shell