亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

Django 刪除upload_to文件的步驟

瀏覽:3日期:2024-10-16 17:41:12

新版Django在admin后臺直接刪除一條數(shù)據(jù)時(shí),file = models.FileField(upload_to=‘file’)上傳的文件并不會刪除,以下為解決方法:

在model.py加入:

from django.db.models.signals import pre_deletefrom django.dispatch.dispatcher import receiver@receiver(pre_delete, sender=AddDateModel)def mymodel_delete(sender, instance, **kwargs): # Pass false so FileField doesn’t save the model. instance.file.delete(False)

補(bǔ)充知識:django之重寫FileField字段的保存實(shí)例

重寫FileField字段的保存,以重命名為例

settings.py添加配置

settings.py中末尾添加配置如下,指定指向的操作文件中的類:

# 文件上傳重寫DEFAULT_FILE_STORAGE = 'app.customfilefield.storage.FileStorage'

添加FileStorage

app應(yīng)用下添加python包c(diǎn)ustomfilefield,注意有init.py文件,customfilefield下創(chuàng)建py文件storage.py,文件內(nèi)容為:

storage.py

# -*-coding:utf-8 -*-from django.core.files.storage import FileSystemStoragefrom django.http import HttpResponsefrom django.conf import settingsimport os, time, randomfrom app import utils class FileStorage(FileSystemStorage): def __init__(self, location=settings.MEDIA_ROOT, base_url=settings.MEDIA_URL): #初始化 super(FileStorage, self).__init__(location, base_url) #重寫 _save方法 def _save(self, name, content): #文件擴(kuò)展名 ext = os.path.splitext(name)[1] #文件目錄 d = os.path.dirname(name) # 定義文件名,源文件名,避開系統(tǒng)定義的隨機(jī)字符串追加,所以避開不用name字段 end = utils.find_last(str(content), '.') filename = '' if end != -1: filename = str(content)[:end] # 定義文件名,年月日時(shí)分秒隨機(jī)數(shù) fn = time.strftime('%Y%m%d%H%M%S') fn = fn + '_%d' % random.randint(0,100) #重寫合成文件名 name = os.path.join(d, filename + fn + ext) #調(diào)用父類方法 return super(FileStorage, self)._save(name, content)

utils.py

# 獲取字符串中指定字符最后一次出現(xiàn)的位置def find_last(string,str): last_position=-1 while True: position=string.find(str,last_position+1) if position==-1: return last_position last_position=position

如此,最后上傳的文件名為原文件名加上年月日時(shí)分秒加上0-100的隨機(jī)數(shù)保存,效果如下:

Django 刪除upload_to文件的步驟

以上這篇Django 刪除upload_to文件的步驟就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Django
相關(guān)文章:
主站蜘蛛池模板: 999在线 | 精品国产一区二区麻豆 | 俄罗斯欧美色黄激情 | 日本一级特黄啪啪片 | 一级片在线观看 | 婷婷丁香六月天 | 一级特黄 | 免费视频不卡一区二区三区 | 99er精品| 69堂在线观看国产成人 | 亚洲国产精品一区二区久久hs | 国产特黄特色一级特色大片 | 日韩视频免费在线播放 | 亚洲精品区| 成年男女免费大片在线观看 | 亚洲黄色大片 | 亚洲高清日韩精品第一区 | 欧美日韩国产综合视频在线看 | 欧美久在线观看在线观看 | 色涩在线 | 91精品国产91久久久久福利 | 免费三级毛片 | 野战好大好紧好爽视频 | 美国黄色一级 | 亚洲国产精品乱码在线观看97 | 亚洲国产精品线在线观看 | 成人免费视频视频在线不卡 | 日韩午夜伦y4480私人影院 | 亚洲人成在线精品不卡网 | 六月婷婷精品视频在线观看 | 一级黄色激情片 | 精品国产成人 | 亚洲制服丝袜第一页 | 国产精品日韩高清在线蜜芽 | 国产专区一线二线三线 | 久久九九国产精品怡红院 | 日本高清毛片视频在线看 | 欧美特黄三级在线观看 | 1000部末满18在线观看黄 | 欧美精品黄页在线观看大全 | 久久精品综合一区二区三区 |