阅读 7

Django Admin 上传文件到七牛云的示例代码

七牛云是一家国内领先的云服务提供商,提供了各种云服务,包括对象存储、数据处理、数据分析等。在文件存储方面,七牛云的优势非常明显。

Django Admin 上传文件到七牛云的示例代码

Django是一个基于Python的Web框架,非常适合快速开发Web应用。Django自带了一个管理后台(Admin),方便进行数据管理。本文介绍如何在Django Admin中上传文件到七牛云。

首先,需要安装七牛云的Python SDK,可以使用pip安装:

```python

pip install qiniu

```

接着,需要在Django的settings.py文件中配置七牛云的Access Key和Secret Key:

```python

QINIU_ACCESS_KEY = 'your_access_key'

QINIU_SECRET_KEY = 'your_secret_key'

```

然后,我们可以在models.py中定义一个模型来存储上传的文件,并在Admin中注册它:

```python

from django.db import models

from qiniu import Auth, put_file, etag

from yourapp.settings import QINIU_ACCESS_KEY, QINIU_SECRET_KEY

auth = Auth(QINIU_ACCESS_KEY, QINIU_SECRET_KEY)

bucket_domain = 'your_bucket_domain'

class UploadedFile(models.Model):

name = models.CharField(max_length=100)

file = models.FileField(upload_to='files/')

url = models.CharField(max_length=255, null=True, blank=True)

key = models.CharField(max_length=255, null=True, blank=True)

def save(self, *args, **kwargs):

token = auth.upload_token(bucket_domain)

ret, info = put_file(token, self.file.name, self.file)

if info.status_code == 200:

self.key = ret['key']

self.url = 'http://' + bucket_domain + '/' + self.key

super().save(*args, **kwargs)

```

文章分类
百科问答
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐