欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

定制FileField中的上傳文件名稱實例

 更新時間:2017年08月23日 09:21:33   投稿:jingxian  
下面小編就為大家?guī)硪黄ㄖ艶ileField中的上傳文件名稱實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

FileField中的upload_to屬性可以設(shè)定上傳文件的存儲目錄和名稱,它可以是個字符串,也可以是個callable,比如一個方法。

當(dāng)upload_to的值設(shè)為一個方法時,就可以對上傳文件的名稱進行修改了。方法需要兩個參數(shù),instance與filename,instance為此FileField所屬的Model實例,filename為上傳文件的名稱。

舉例:

 def user_directory_path(instance, filename): 
# file will be uploaded to MEDIA_ROOT/user_<id>/<filename> 
return 'user_{0}/{1}'.format(instance.user.id, filename) 

class MyModel(models.Model): 
upload = models.FileField(upload_to=user_directory_path) 

當(dāng)一個類定義了__call__方法時,也可以像func一樣被調(diào)用,所以,upload_to的值也可以是一個定義了__call__方法的類。

比如,要根據(jù)上傳時間為文件名加時間戳:

import hashlib 
import os 
import time 
 
from django.utils.deconstruct import deconstructible 
 
 
@deconstructible
class TimeStampFileName(object): 
  def __init__(self, path): 
    self.path = os.path.join(path, "%s%s") 
 
  def __call__(self, instance, filename): 
    extension = os.path.splitext(filename)[1] 
    data = "%s_%d"%(filename,int(time.time())) 
    file_hash = hashlib.sha1(data).hexdigest() 
    return self.path % (file_hash, extension)

Model中的FileField可以如下定義:

class MyModel(models.Model): 
  upload = models.FileField(upload_to=TimeStampFileName('media/'), ) 

以上這篇定制FileField中的上傳文件名稱實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python continue語句實例用法

    Python continue語句實例用法

    在本篇文章里小編給大家整理了關(guān)于Python continue語句實例用法,有需要的朋友們可以跟著學(xué)習(xí)下。
    2020-02-02
  • python中管道用法入門實例

    python中管道用法入門實例

    這篇文章主要介紹了python中管道用法,實例分析了管道的創(chuàng)建、輸入、輸出及關(guān)閉等技巧,需要的朋友可以參考下
    2015-06-06
  • PYTHON繪制雷達圖代碼實例

    PYTHON繪制雷達圖代碼實例

    這篇文章主要介紹了PYTHON繪制雷達圖代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-10-10
  • 不同版本中Python matplotlib.pyplot.draw()界面繪制異常問題的解決

    不同版本中Python matplotlib.pyplot.draw()界面繪制異常問題的解決

    這篇文章主要給大家介紹了關(guān)于不同版本中Python matplotlib.pyplot.draw()界面繪制異常問題的解決方法,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-09-09
  • 淺析python中的set類型

    淺析python中的set類型

    這篇文章主要介紹了python中的set類型,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • Python使用Beautiful Soup實現(xiàn)解析網(wǎng)頁

    Python使用Beautiful Soup實現(xiàn)解析網(wǎng)頁

    在這篇文章中,我們將介紹如何使用 Python 編寫一個簡單的網(wǎng)絡(luò)爬蟲,以獲取并解析網(wǎng)頁內(nèi)容。我們將使用 Beautiful Soup 庫,它是一個非常強大的庫,用于解析和操作 HTML 和 XML 文檔。讓我們開始吧
    2023-05-05
  • python編碼問題匯總

    python編碼問題匯總

    這篇文章主要給大家分享的是python編碼問題匯總,字符編碼簡單介紹和發(fā)展史及使用方法的一些介紹,文章內(nèi)容詳細,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-03-03
  • python方法如何實現(xiàn)字符串反轉(zhuǎn)

    python方法如何實現(xiàn)字符串反轉(zhuǎn)

    這篇文章主要介紹了python方法如何實現(xiàn)字符串反轉(zhuǎn)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Python實現(xiàn)登陸文件驗證方法

    Python實現(xiàn)登陸文件驗證方法

    本篇文章中我們給大家分享了關(guān)于Python實現(xiàn)登陸文件驗證的方法和技巧,有興趣的朋友們參考學(xué)習(xí)下。
    2018-10-10
  • python實現(xiàn)兩個dict合并與計算操作示例

    python實現(xiàn)兩個dict合并與計算操作示例

    這篇文章主要介紹了python實現(xiàn)兩個dict合并與計算操作,結(jié)合具體實例形式分析了Python使用collections.Counter進行字典dict合并與遍歷輸出相關(guān)操作技巧,需要的朋友可以參考下
    2019-07-07

最新評論