Wigtail图像工作正常,上传后文档没有显示

时间:2018-05-16 19:27:41

标签: wagtail

我们设置了wagtail 2.0.1以与AWS S3一起使用媒体文件,这对于图像很有效(上传发送到S3,/images路径显示图像中的所有图像经理),它似乎不适用于文件。

我们使用的设置:

# Storage for user generated files
if USE_S3:
  # Use S3 to store user files if the corresponding environment var is set
  DEFAULT_FILE_STORAGE = 'filebrowser_s3.storage.S3MediaStorage'
  AWS_ACCESS_KEY_ID = env('AWS_ACCESS_KEY_ID')
  AWS_SECRET_ACCESS_KEY = env('AWS_SECRET_ACCESS_KEY')
  AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME')
  AWS_S3_CUSTOM_DOMAIN = env('AWS_S3_CUSTOM_DOMAIN')
  AWS_LOCATION = env('AWS_LOCATION')

  MEDIA_URL = 'https://' + AWS_S3_CUSTOM_DOMAIN + '/'
  MEDIA_ROOT = ''

  FILEBROWSER_DIRECTORY = env('FILEBROWSER_DIRECTORY')

else:
  # Otherwise use the default filesystem storage
  MEDIA_ROOT = root('media/')
  MEDIA_URL = '/media/'

(请注意filebrowser_s3是一个extends the S3Boto3Storage class from the s3boto3 library

的小型图书馆

我们可以上传文档,这些文档最终在S3上的正确位置,数据库获得file记录,该记录指向附加到S3基本位置的正确路径,但/ documents路径显示"无":

enter image description here

搜索"工作"因为它找到了结果,说有X个结果,显示了结果所在的类别,但之后没有显示其他内容:

enter image description here

文档应用程序是否使用了除媒体root / url常量之外我们需要设置的特殊wagtail常量,以便wagtail可以显示带有相关edit / etc UI的文档列表?

2 个答案:

答案 0 :(得分:1)

原来这是由加载文档应用程序引起的,但没有加载相应的url模式。在打开所有调试设置的情况下对本地wagtail副本运行生产S3存储桶的副本表明,对于什么应该是wagtail文档路由没有反向规则,这表明我们的urls.py正在抓取文档中的模式应用程序,但实际上没有将这些模式作为主urlpatterns列表的一部分加载。

答案 1 :(得分:0)

  

文档应用程序是否使用了除媒体root / url常量之外我们需要设置的特殊wagtail常量,以便wagtail可以显示带有相关edit / etc UI的文档列表?

不,它没有。你可以试试吗

pip install django-storages

DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

?这是Django / Wagtail和S3的标准方法。

如果可行,则filebrowser_s3可能存在问题。

另见