gpt4 book ai didi

python - 如何将 Amazon S3 存储桶中的 URL 存储在 Django sqlite 数据库中以进行显示和评论?

转载 作者:行者123 更新时间:2023-12-01 06:02:23 28 4
gpt4 key购买 nike

我已经使用 Django 几天了,并从 tutorial 设置了一个基本博客带有 django 注释。

我有一个完全独立的 python 脚本,可以生成屏幕截图并将其上传到 Amazon S3,现在我希望我的 django 应用程序显示存储桶中的所有图像,并在图像上使用评论系统。最好我只是将 URL 存储在我的 sqlite 数据库中来实现这一点,目前我已经对其进行了硬编码,以显示数据库中的所有图像,并在这些图像上启用了注释。

我的模型:

(这是否需要 django 注释的外键,或者这只是 Django Magic 的一部分?!)

class Image(models.Model):
imgUrl=models.CharField(max_length=200)
meta=models.CharField(max_length=300)
def __unicode__(self):
return self.imgUrl

我的存储桶结构:https://s3-eu-west-1.amazonaws.com/bucket/revision/process/images.png

我找到的几乎所有教程和包都是基于上传/下载,而不是我想要的简单的for key in bucket类型的方法。

我的问题之一是理解如果我使用 Base.html 如何将 Boto 函数与 Django 集成。在之前的教程中,我有一个索引页,它有一个 View ,可以从那里调用函数。但基地不需要这个,所以我开始有点迷失了。

最佳答案

没有查看 boto api 是否更改,但这就是我上次查看时的工作方式

from boto.s3.connection import S3Connection
from boto.s3.key import Key
import s3config

conn = S3Connection(s3config.passwd, s3config.secret)
bucket = conn.get_bucket(s3config.bucket)
s3_path = '/some/path/in/your/bucket'
keys = bucket.list(s3_path)
# or if you want all keys:
# keys = bucket.get_all_keys()

for key in keys:
print key
# here you can download or do other stuff
# with the keys like get some metadata
print key.name
print key.etag
print key.size
print key.last_modified
<小时/>
#s3config.py
passwd = 'BLABALBALABALA'
secret = 'xvdwv3efefefefefef'
bucket = 'name-of-your-bucket'
<小时/>

更新:

Amazon s3 是一个键值存储,其中 key 是一个字符串。因此,没有什么可以阻止您输入以下 key :

/this/string/key/looks/like/a/unix/path
/folder/images/fileA.jpg
/folder/images/fileB.jpg
/folder/images/folderX/fileX1.jpg

现在 bucket.list(prefix="/folder/images/") 将产生后三个。请在此处查看更多详细信息:

关于python - 如何将 Amazon S3 存储桶中的 URL 存储在 Django sqlite 数据库中以进行显示和评论?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9680461/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com