Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.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
Django+;赫罗库+;S3_Django_Heroku_Amazon S3 - Fatal编程技术网

Django+;赫罗库+;S3

Django+;赫罗库+;S3,django,heroku,amazon-s3,Django,Heroku,Amazon S3,我一直在努力研究让AWS S3与Heroku一起工作的方法,以便上传文件字段和图像字段。但我一直没能让它工作 计划是 使用FileField上载一些文件 将ImageField用于配置文件图片 使用Sorl缩略图调整这些图片的大小 我看了这篇文章,但它似乎不起作用。 有什么我遗漏的吗? 我希望文件上传,尽可能无痛。有没有比AWS更友好的django和heroku替代方案?我们将非常感谢在这方面提供的任何帮助 用于管理S3上的静态文件。然后跟着 首先,使用AWS控制台或您喜欢的工具在S3中创建一个

我一直在努力研究让AWS S3与Heroku一起工作的方法,以便上传文件字段和图像字段。但我一直没能让它工作

计划是

  • 使用FileField上载一些文件
  • 将ImageField用于配置文件图片
  • 使用Sorl缩略图调整这些图片的大小
  • 我看了这篇文章,但它似乎不起作用。 有什么我遗漏的吗? 我希望文件上传,尽可能无痛。有没有比AWS更友好的django和heroku替代方案?我们将非常感谢在这方面提供的任何帮助

    用于管理S3上的静态文件。然后跟着

    首先,使用AWS控制台或您喜欢的工具在S3中创建一个bucket。然后,修改settings.py并添加以下值:

    import os
    
    AWS_ACCESS_KEY_ID = os.environ.get('AWS_ACCESS_KEY_ID')
    AWS_SECRET_ACCESS_KEY = os.environ.get('AWS_SECRET_ACCESS_KEY')
    AWS_STORAGE_BUCKET_NAME = '<YOUR BUCKET NAME>'
    
    STATICFILES_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    DEFAULT_FILE_STORAGE = 'storages.backends.s3boto.S3BotoStorage'
    
    STATIC_URL = 'http://' + AWS_STORAGE_BUCKET_NAME + '.s3.amazonaws.com/'
    ADMIN_MEDIA_PREFIX = STATIC_URL + 'admin/'
    
    导入操作系统
    AWS\u ACCESS\u KEY\u ID=os.environ.get('AWS\u ACCESS\u KEY\u ID'))
    AWS\u SECRET\u ACCESS\u KEY=os.environ.get('AWS\u SECRET\u ACCESS\u KEY'))
    AWS\存储\存储桶\名称=“”
    STATICFILES\u STORAGE='storages.backends.s3boto.s3botostrage'
    默认文件存储='storages.backends.s3boto.s3botostrage'
    静态URL='http://'+AWS_存储_BUCKET_NAME+'.s3.amazonaws.com/'
    ADMIN\u MEDIA\u PREFIX=STATIC\u URL+'ADMIN/'
    
    请注意,我们使用环境变量来存储AWS访问密钥和密钥。当我们在这个主题上时,如果您打算打开源DJANGO应用程序,那么也要考虑在环境变量中存储CytoTyKEY。
    以上内容来自

    这太棒了!谢谢你,伙计!你可能想做的唯一一件事是,由于这种方法将Boto化,所以任何使用这种方法的人也必须安装。不过我还有一个问题要问你。如何向其添加访问控制策略=公共读取?我尝试在settings.py中添加acl='public-read',但这似乎不起作用,我只是希望谷歌文档查看器能够访问我上传的文件。有没有办法让它实现?也许应该有帮助?问题远不止这些。我所要做的就是用户urlencode:)很抱歉给您添麻烦。