摘要:在用開發(fā)服務(wù)端的時(shí)候,利用了的組件上傳圖片,因圖片名字不統(tǒng)一所以想給上傳的圖片重命名,從網(wǎng)上找了一些代碼資料,在自己的項(xiàng)目中出錯(cuò),所以自己摸索找到了解決辦法,代碼如下在項(xiàng)目根目錄中新建文件夾,并在文件夾下添加和文件并在中添加如下代碼
在用django開發(fā)app服務(wù)端的時(shí)候,利用了django的upload組件上傳圖片,因圖片名字不統(tǒng)一所以想給上傳的圖片重命名,從網(wǎng)上找了一些代碼資料,在自己的項(xiàng)目中出錯(cuò),所以自己摸索找到了解決辦法,代碼如下:
1、在項(xiàng)目根目錄中新建文件夾system,并在system文件夾下添加__init__.py和storage.py文件,并在storage.py中添加如下代碼:
# -*- coding: UTF-8 -*- from django.core.files.storage import FileSystemStorage from django.http import HttpResponse class ImageStorage(FileSystemStorage): from django.conf import settings def __init__(self, location=settings.MEDIA_ROOT, base_url=settings.MEDIA_URL): # 初始化 super(ImageStorage, self).__init__(location, base_url) # 重寫 _save方法 def _save(self, name, content): import os, time, random # 文件擴(kuò)展名 ext = os.path.splitext(name)[1] # 文件目錄 d = os.path.dirname(name) # 定義文件名,年月日時(shí)分秒隨機(jī)數(shù) fn = time.strftime("%Y%m%d%H%M%S") fn = fn + "_%d" % random.randint(0,100) # 重寫合成文件名 name = os.path.join(d, fn + ext) # 調(diào)用父類方法 return super(ImageStorage, self)._save(name, content)
2、在models.py文件中添加如下代碼:
from system.storage import ImageStorage pic=models.ImageField(upload_to="img/%Y/%m/%d",storage=ImageStorage())
3、這樣就解決了問題,效果如下:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/42938.html
摘要:選擇該頁面綁定的標(biāo)簽指定圖片上傳處理目錄注其中為了顯示為中文,標(biāo)明了中文,同時(shí)需要下載語言包放到對(duì)應(yīng)的文件夾下。 前言 我們常因?yàn)閐jango的自帶admin后臺(tái)功能而選擇該框架,但也因?yàn)槠渥詣?dòng)生成的特殊性而在做出特別的更改的時(shí)候束手束腳,鑒于項(xiàng)目已經(jīng)采用了django,而后臺(tái)要求能夠直接上傳富文本內(nèi)容直接用于網(wǎng)頁顯示,定制性高,后來翻了目前較為知名的幾款富文本編輯框,覺得還是tiny...
摘要:選擇該頁面綁定的標(biāo)簽指定圖片上傳處理目錄注其中為了顯示為中文,標(biāo)明了中文,同時(shí)需要下載語言包放到對(duì)應(yīng)的文件夾下。 前言 我們常因?yàn)閐jango的自帶admin后臺(tái)功能而選擇該框架,但也因?yàn)槠渥詣?dòng)生成的特殊性而在做出特別的更改的時(shí)候束手束腳,鑒于項(xiàng)目已經(jīng)采用了django,而后臺(tái)要求能夠直接上傳富文本內(nèi)容直接用于網(wǎng)頁顯示,定制性高,后來翻了目前較為知名的幾款富文本編輯框,覺得還是tiny...
摘要:選擇該頁面綁定的標(biāo)簽指定圖片上傳處理目錄注其中為了顯示為中文,標(biāo)明了中文,同時(shí)需要下載語言包放到對(duì)應(yīng)的文件夾下。 前言 我們常因?yàn)閐jango的自帶admin后臺(tái)功能而選擇該框架,但也因?yàn)槠渥詣?dòng)生成的特殊性而在做出特別的更改的時(shí)候束手束腳,鑒于項(xiàng)目已經(jīng)采用了django,而后臺(tái)要求能夠直接上傳富文本內(nèi)容直接用于網(wǎng)頁顯示,定制性高,后來翻了目前較為知名的幾款富文本編輯框,覺得還是tiny...
摘要:前端提交提交成功格式不對(duì)不允許上傳這種格式文件已存在文件已存在上傳錯(cuò)誤上傳錯(cuò)誤服務(wù)器錯(cuò)誤上傳文件上傳服務(wù)端獲取原始文件名獲取文件后綴名設(shè)置新文件名允許上傳的圖片后綴小于上傳錯(cuò)誤此處可以輸出文件的詳細(xì)信息文件已存在格式不對(duì)文件目錄記 showImg(https://segmentfault.com/img/bVbwr3B?w=340&h=133); 前端 index.html ...
摘要:對(duì)象關(guān)系映射,簡(jiǎn)稱模式是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù)。在業(yè)務(wù)邏輯層和數(shù)據(jù)庫層之間充當(dāng)了橋梁的作用。每個(gè)字段被指定為一個(gè)類屬性,每個(gè)屬性映射到一個(gè)數(shù)據(jù)庫列。字符類型,必須提供參數(shù),表示字符長(zhǎng)度。 對(duì)象關(guān)系映射(Object Relational Mapping,簡(jiǎn)稱ORM)模式是一種為了解決面向?qū)ο笈c關(guān)系數(shù)據(jù)庫存在的互不匹配的現(xiàn)象的技術(shù)。 簡(jiǎn)單的說,ORM是...
閱讀 4010·2023-04-26 00:36
閱讀 2745·2021-11-16 11:44
閱讀 1189·2021-11-15 17:58
閱讀 1748·2021-09-30 09:47
閱讀 1290·2019-08-30 13:05
閱讀 1617·2019-08-30 12:55
閱讀 2493·2019-08-30 11:02
閱讀 2890·2019-08-29 17:01