辉煌仪奇 2021-11-26 18:11 采纳率: 47.4%
浏览 243
已结题

django 文件上传存储后重名怎么解决

需求

现在面临的问题就是上传重名文件,将他们写入后变成了一个文件,现在需要的方案是上传的时候可以重名,但是存储在物理路径后不能重名,下载后文件名字为上传的文件名

我想偷懒,django admin自带上传有重名解决方案,然后下载也是上传的名字,但是自己写就不行了,想找找有没有类似django admin上传解决重名的方案

django创建了一个model 代码如下

class oderexcel(models.Model):
    file = models.FileField(upload_to='oderexcel')
    name = models.CharField(max_length=128)

    class Meta:
        db_table = 'oderexcel'
        verbose_name = '材料报表'
        verbose_name_plural = verbose_name
    def __str__(self):

存储文件是接受到用户上传的文件后写入的,写入方式如下
filename:用户上传的文件名

#数据库存入名
filenamepath = r"/oderexcel/" + filename
#将文件存储路径存数据库
oderexcel.objects.create(file=filenamepath,name=filename)
#存文件物理路径
filename = r'static/media/oderexcel/' + filename
#存储文件
workbook.save(filename)

img

img

  • 写回答

2条回答 默认 最新

  • 2022编程新篇章 2021-11-26 21:13
    关注

    着网站运作,难免有些时候需要上传文件。上传文件自然是上传到网站所在的服务器,日积月累,慢慢地网站存储空间越来越少。而且网站迁移和备份都不方便,使用这些资源时也占用大量服务器流量。

    较好的解决方案是使用第三方存储服务器,例如七牛、阿里云OSS、亚马逊S3等。将文件都放到这些存储服务器,可以减少服务器负担。服务器只剩下必要的静态文件和代码。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月30日
  • 修改了问题 11月26日
  • 修改了问题 11月26日
  • 修改了问题 11月26日
  • 展开全部

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料