# Django 5 阿里云 OSS 存储
用于阿里云 OSS(对象存储服务)的 Django 存储后端。
## 安装
```bash
pip install django5-aliyun-oss
```
## 配置
在您的 Django settings.py INSTALLED_APPS 中添加以下设置:
```python
INSTALLED_APPS = [
...
'django5_aliyun_oss',
...
]
```
在您的 Django settings.py 中添加以下设置:
```python
ALIYUN_OSS = {
'ACCESS_KEY_ID': '您的访问密钥ID',
'ACCESS_KEY_SECRET': '您的访问密钥密码',
'ENDPOINT': '您的终端节点',
'BUCKET_NAME': '您的存储桶名称',
'URL_EXPIRE_SECONDS': 3600, # 可选,默认为3600
}
# 设置为默认存储器
STORAGES = {
'default': {
'BACKEND': 'django5_aliyun_oss.storage.AliyunOSSStorage',
},
'staticfiles': {
'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage',
}
}
```
## 使用
```python
from django.db import models
class YourModel(models.Model):
file = models.FileField(upload_to='uploads/')
image = models.ImageField(upload_to='images/')
```
## 特性
- 兼容 Django 5.0+
- 支持所有基本文件操作
- 为私有存储桶生成签名 URL
- 处理文件删除
- 可配置的上传路径
- 支持静态文件存储
## 许可证
MIT 许可证
## 贡献
欢迎贡献!请随时提交拉取请求。
Raw data
{
"_id": null,
"home_page": "https://github.com/mircool/django-aliyun-oss",
"name": "django5-aliyun-oss",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "django, aliyun, oss, storage, file upload",
"author": "Mircool",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/4e/80/441232c08c6d1a0526341032ca55586dab40a87274034a8ec1b535174414/django5-aliyun-oss-1.1.0.tar.gz",
"platform": null,
"description": "# Django 5 \u963f\u91cc\u4e91 OSS \u5b58\u50a8\r\n\r\n\u7528\u4e8e\u963f\u91cc\u4e91 OSS\uff08\u5bf9\u8c61\u5b58\u50a8\u670d\u52a1\uff09\u7684 Django \u5b58\u50a8\u540e\u7aef\u3002\r\n\r\n## \u5b89\u88c5\r\n\r\n```bash\r\npip install django5-aliyun-oss\r\n```\r\n\r\n## \u914d\u7f6e\r\n\u5728\u60a8\u7684 Django settings.py INSTALLED_APPS \u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u8bbe\u7f6e\uff1a\r\n\r\n```python\r\nINSTALLED_APPS = [\r\n ...\r\n 'django5_aliyun_oss',\r\n ...\r\n]\r\n```\r\n\r\n\r\n\u5728\u60a8\u7684 Django settings.py \u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u8bbe\u7f6e\uff1a\r\n\r\n```python\r\nALIYUN_OSS = {\r\n 'ACCESS_KEY_ID': '\u60a8\u7684\u8bbf\u95ee\u5bc6\u94a5ID',\r\n 'ACCESS_KEY_SECRET': '\u60a8\u7684\u8bbf\u95ee\u5bc6\u94a5\u5bc6\u7801',\r\n 'ENDPOINT': '\u60a8\u7684\u7ec8\u7aef\u8282\u70b9',\r\n 'BUCKET_NAME': '\u60a8\u7684\u5b58\u50a8\u6876\u540d\u79f0',\r\n 'URL_EXPIRE_SECONDS': 3600, # \u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3a3600\r\n}\r\n\r\n# \u8bbe\u7f6e\u4e3a\u9ed8\u8ba4\u5b58\u50a8\u5668\r\nSTORAGES = {\r\n 'default': {\r\n 'BACKEND': 'django5_aliyun_oss.storage.AliyunOSSStorage',\r\n },\r\n 'staticfiles': {\r\n 'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage',\r\n }\r\n}\r\n```\r\n\r\n## \u4f7f\u7528\r\n\r\n```python\r\nfrom django.db import models\r\n\r\nclass YourModel(models.Model):\r\n file = models.FileField(upload_to='uploads/')\r\n image = models.ImageField(upload_to='images/')\r\n```\r\n\r\n## \u7279\u6027\r\n\r\n- \u517c\u5bb9 Django 5.0+\r\n- \u652f\u6301\u6240\u6709\u57fa\u672c\u6587\u4ef6\u64cd\u4f5c\r\n- \u4e3a\u79c1\u6709\u5b58\u50a8\u6876\u751f\u6210\u7b7e\u540d URL\r\n- \u5904\u7406\u6587\u4ef6\u5220\u9664\r\n- \u53ef\u914d\u7f6e\u7684\u4e0a\u4f20\u8def\u5f84\r\n- \u652f\u6301\u9759\u6001\u6587\u4ef6\u5b58\u50a8\r\n\r\n## \u8bb8\u53ef\u8bc1\r\n\r\nMIT \u8bb8\u53ef\u8bc1\r\n\r\n## \u8d21\u732e\r\n\r\n\u6b22\u8fce\u8d21\u732e\uff01\u8bf7\u968f\u65f6\u63d0\u4ea4\u62c9\u53d6\u8bf7\u6c42\u3002\r\n",
"bugtrack_url": null,
"license": null,
"summary": "Django5 storage backend for Aliyun OSS",
"version": "1.1.0",
"project_urls": {
"Bug Tracker": "https://github.com/mircool/django-aliyun-oss/issues",
"Homepage": "https://github.com/mircool/django-aliyun-oss"
},
"split_keywords": [
"django",
" aliyun",
" oss",
" storage",
" file upload"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0ed8fcab45fd5754b102db5f96dbadc6f1b84c24cf6cf6a75201762b14c3e675",
"md5": "ac0c9be5e04212e17203b5831ce9151c",
"sha256": "798c2cb56386cf82065355dd61e17bd31dc6d1160a2587cab12b72162ab5b3aa"
},
"downloads": -1,
"filename": "django5_aliyun_oss-1.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "ac0c9be5e04212e17203b5831ce9151c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 5756,
"upload_time": "2024-10-17T06:49:53",
"upload_time_iso_8601": "2024-10-17T06:49:53.847830Z",
"url": "https://files.pythonhosted.org/packages/0e/d8/fcab45fd5754b102db5f96dbadc6f1b84c24cf6cf6a75201762b14c3e675/django5_aliyun_oss-1.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4e80441232c08c6d1a0526341032ca55586dab40a87274034a8ec1b535174414",
"md5": "b4e9e7d189cfe15a7673ce721807a29b",
"sha256": "822b4156aef5167e70f4e5908f30d3fd5d327de19cd8b7b734ce335a25a95ac7"
},
"downloads": -1,
"filename": "django5-aliyun-oss-1.1.0.tar.gz",
"has_sig": false,
"md5_digest": "b4e9e7d189cfe15a7673ce721807a29b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 5074,
"upload_time": "2024-10-17T06:49:55",
"upload_time_iso_8601": "2024-10-17T06:49:55.660096Z",
"url": "https://files.pythonhosted.org/packages/4e/80/441232c08c6d1a0526341032ca55586dab40a87274034a8ec1b535174414/django5-aliyun-oss-1.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-17 06:49:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "mircool",
"github_project": "django-aliyun-oss",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [],
"lcname": "django5-aliyun-oss"
}