使用Django mongodb将文件上传到GridFS

时间:2012-03-05 09:10:16

标签: python django mongodb django-nonrel django-mongodb-engine

我正在为我的项目使用django-mongodb。我需要通过管理界面上传图片并使用gridfs文件存储来存储图像.Django-mongodb有“Django storage backend for GridFS "。我试过这个并按照步骤但无法存储图像。对象被正确存储但不存储图像。

Models.py

from django.db import models
from gridfsuploads import gridfs_storage

class FileUpload(models.Model):
    created_on = models.DateTimeField(auto_now_add=True)
    file = models.FileField(storage=gridfs_storage, upload_to='/')

Settings.py

DATABASES = {
    'default' : {
        'ENGINE': 'django_mongodb_engine',
        'NAME': 'tutorial'
    }
}

INSTALLED_APPS = [
    'django.contrib.contenttypes',
    'django.contrib.auth',
    'django.contrib.admin',

    'nonrelblog',
    'gridfsuploads'
]
ROOT_URLCONF = 'urls'

DEBUG = TEMPLATE_DEBUG = True

每次我使用管理界面创建一个FileUpload对象时,对象会成功创建,但我找不到我指定位置的上传图像。我无法弄明白,我甚至测试过Djnago-non-rel guys example project for using gridfs 但同样的问题.Plz帮助

1 个答案:

答案 0 :(得分:0)

您能告诉我们GridFS集合的内容吗?它应该默认为数据库'default',集合'storage'。如果您使用mongo shell,如:

use default
db.storage.find()

那里有什么吗?或者,您是否覆盖了gridfsuploads的默认数据库或集合?