Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法使用Mongoengine ImageField将图像上载到媒体\u根目录_Python_Django_Mongodb_Mongoengine_Imagefield - Fatal编程技术网

Python 无法使用Mongoengine ImageField将图像上载到媒体\u根目录

Python 无法使用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

我正在尝试使用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_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为您处理。