(Django 2.0、Django Rest Framework 3.8、Python 3.6、Django 存储 1.7、Dropbox 9.1)
我正在尝试将文件上传到我创建的 Dropbox 应用程序文件夹,但每次尝试都会遇到相同的错误:
C:/TrainerPics/UI_4.png' did not match pattern '(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)'
在桌面的 Dropbox 仪表板上,我要上传到的文件夹显示为:
Dropbox > Apps > DjangoAppNameHere
这是我的设置settings.py
:
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
STATIC_URL = '/static/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static')]
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'
DEFAULT_FILE_STORAGE = 'storages.backends.dropbox.DropBoxStorage'
DROPBOX_OAUTH2_TOKEN = 'some_token_here'
wherestorages
也列在已安装的应用程序中。这是我要上传的模型字段:
trainer_profile_pic = models.ImageField(upload_to="TrainerPics/", null=True, blank=True)
我在有和没有这个/
角色的情况下都试过这个,并且upload_to=DjangoAppNameHere
在有FileField
和ImageField
没有成功的情况下都试过了。Dropbox 的文档在 django-storages 包中相当稀疏,并且没有描述如何设置字段以使其正常工作。