Django upload_to 在 MEDIA_ROOT 之外

在Django中,`upload_to`参数允许你指定上传的文件应该被保存在哪个目录下。这个参数的值可以是一个相对路径或一个绝对路径(相对于MEDIA_ROOT)。

如果你想在MEDIA_ROOT之外创建一个新的目录来保存上传的文件,你可以这样做:

1. 首先,在settings.py文件中定义新的目录:

```python
# settings.py
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')  # 默认的MEDIA_ROOT路径
NEW_MEDIA_ROOT = os.path.join(BASE_DIR, 'my_custom_media')  # 自定义的新目录
```

2. 然后,在你的model中设置`upload_to`参数为新定义的目录:

```python
# models.py
from django.db import models

class MyModel(models.Model):
    my_file = models.FileField(upload_to='my_custom_media/')  # upload_to参数设置为自定义的新目录
```

这样,当你创建或修改`MyModel`实例时,上传的文件就会被保存在`MEDIA_ROOT/my_custom_media`目录下。

注意:如果你的文件存储在数据库中而不是文件系统中(比如使用Django的内置文件管理系统),那么`upload_to`参数就不再有作用了。

  • 5
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值