Python 无法使用Mongoengine ImageField将图像上载到媒体\u根目录
我正在尝试使用Mongoengine ImageField上传图像。 但在上传了一个测试图像后,我得到了一个未被访问的页面 提出人:django.views.static.service “/Users/xxx/Documents/basedir/media/testimage.png”不存在 myproject/settings.pyPython 无法使用Mongoengine ImageField将图像上载到媒体\u根目录,python,django,mongodb,mongoengine,imagefield,Python,Django,Mongodb,Mongoengine,Imagefield,我正在尝试使用Mongoengine ImageField上传图像。 但在上传了一个测试图像后,我得到了一个未被访问的页面 提出人:django.views.static.service “/Users/xxx/Documents/basedir/media/testimage.png”不存在 myproject/settings.py BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) STATIC_UR
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')
from mongoengine import Document, ImageField
class Image(Document):
image = ImageField(upload_to="")
filename = fields.StringField()
from django.conf import settings
urlpatterns = [
#bla
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
myproject/myapp/models.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')
from mongoengine import Document, ImageField
class Image(Document):
image = ImageField(upload_to="")
filename = fields.StringField()
from django.conf import settings
urlpatterns = [
#bla
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
myproject/url.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')
from mongoengine import Document, ImageField
class Image(Document):
image = ImageField(upload_to="")
filename = fields.StringField()
from django.conf import settings
urlpatterns = [
#bla
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
我做错了什么?你可能想看看这个。它相当全面,提供了配置静态文件所需的每个步骤。看起来您确实缺少STATICFILES\u DIRS,并且运行了
python manage.py collectstatic
命令
最好确认您上传到的图像字段的内容是否正确。您可以在shell中验证这一点
python manage.py shell
尝试使用我发布的这个问题的答案中的UploadTo
类。您没有正确设置必须保存图像的路径。这对我不起作用。可能是因为我使用的是mongoengine的ImageField,而不是django.db模型?抱歉,我不明白为什么不使用django模型而不是文档?因为我使用mongoengine将django与mongodbOkay连接起来,所以你会得到同样的结果吗?没有图片上传!或者,您会遇到不同的错误?我认为,无论是模型还是文档,修复路径都应该解决这个问题,因为最后,总是由Django为您处理。