最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

django之對FileField字段的upload_to的設(shè)定方法

 更新時間:2019年07月28日 09:09:47   作者:Boyce_L  
今天小編就為大家分享一篇django之對FileField字段的upload_to的設(shè)定方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

用django開發(fā),經(jīng)常要處理用戶上傳的文件, 比如user模型里面如果又個人頭像的字段 ImageField等等,而django在FielField字段(包括ImageField)的支持和擴(kuò)展是做的很好的,首先一個問題,是上傳的文件,django是放到哪里去了,(note: 文件流是不會放到數(shù)據(jù)庫里面的,該字段在數(shù)據(jù)庫中只存儲路徑),django提供了upload_to屬性

以下介紹upload_to的具體使用方法

1.最直接的方式,硬編碼路徑

# MyProject.settings.py 里面設(shè)置MEDIA_ROOT and MEDIA_URL

MEDIA_ROOT = os.path.join(BASE_DIR, 'upload/')
MEDIA_URL = '/upload/' #這個是在瀏覽器上訪問該上傳文件的url的前綴

# models.py

class User(models.Model):
 avatar = ImageField(upload_to = 'avatar/')
 #實際的路徑就是 MEDIA_ROOT/avatar/filename
 #所以可以用uoload_to來指定文件存放的前綴路徑

2.使用strftime()

如果覺得以上方式太僵硬,萬一文件重名了,那就會有各種問題了,為了避免重名,django在upload_to上內(nèi)置了strftime()函數(shù)

# models.py
class User(models.Model):
 avatar = ImageField(upload_to = 'avatar/%Y/%m/%d/')

這樣子的方式,%Y、%m、%d分別表示年、月、日

3.更加靈活的方式

當(dāng)然,如果覺得只是避免文件路徑重名,還是不能滿足你,其實,django還允許你重寫一個upload_to函數(shù),重定義上傳文件的路徑前綴

# models.py

#讓上傳的文件路徑動態(tài)地與user的名字有關(guān)
def upload_to(instance, fielname):
 return '/'.join([MEDIA_ROOT, instance.user_name, filename])

class User(models.Model):
 avatar = ImageField(upload_to = upload_to)
 user_name = CharField(max_length = 250)

以上這篇django之對FileField字段的upload_to的設(shè)定方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • python3.9安裝RobotFramework的簡單教程

    python3.9安裝RobotFramework的簡單教程

    python3.9安裝RobotFramework,不同于python2.7和python3.6,使用這兩個版本安裝會出現(xiàn)問題,因為我安裝遇到問題發(fā)現(xiàn)沒有最新的教程,所以打算自己寫一個,同時下面會記錄安裝步驟及使用的方法會出現(xiàn)的一些問題,對python3.9安裝RobotFramework感興趣的朋友一起看看吧
    2023-01-01
  • 詳解Python 正則表達(dá)式模塊

    詳解Python 正則表達(dá)式模塊

    這篇文章主要介紹了Python 正則表達(dá)式模塊詳解,分為兩部分,包括基礎(chǔ)語法總結(jié),re模塊的相關(guān)知識,需要的朋友可以參考下
    2018-11-11
  • python excel轉(zhuǎn)換csv代碼實例

    python excel轉(zhuǎn)換csv代碼實例

    這篇文章主要介紹了python excel轉(zhuǎn)換csv代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-08-08
  • Python中字節(jié)數(shù)組和16進(jìn)制字符串轉(zhuǎn)換方式

    Python中字節(jié)數(shù)組和16進(jìn)制字符串轉(zhuǎn)換方式

    這篇文章主要介紹了Python中字節(jié)數(shù)組和16進(jìn)制字符串轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • 進(jìn)一步探究Python的裝飾器的運用

    進(jìn)一步探究Python的裝飾器的運用

    這篇文章主要介紹了更為深入的Python的裝飾器的運用,Python的裝飾器是Python學(xué)習(xí)進(jìn)階當(dāng)中的重要知識點,需要的朋友可以參考下
    2015-05-05
  • PyQt 線程類 QThread使用詳解

    PyQt 線程類 QThread使用詳解

    QThread是我們將要詳細(xì)介紹的第一個類。它也是 Qt 線程類中最核心的底層類。由于 PyQt 的跨平臺特性,QThread要隱藏掉所有平臺相關(guān)的代碼。
    2017-07-07
  • Python繪制3D曲面圖的示例代碼

    Python繪制3D曲面圖的示例代碼

    Python提供了多種庫和工具,使得創(chuàng)建和定制3D曲面圖變得簡單,本文將介紹如何使用Matplotlib和mpl_toolkits.mplot3d庫繪制3D曲面圖,感興趣的可以了解下
    2024-04-04
  • Python獲取好友地區(qū)分布及好友性別分布情況代碼詳解

    Python獲取好友地區(qū)分布及好友性別分布情況代碼詳解

    利用Python + wxpy 可以快速的查詢自己好友的地區(qū)分布情況,以及好友的性別分布數(shù)量。還可以批量下載好友的頭像,拼接成大圖。感興趣的朋友跟隨小編一起看看吧
    2019-07-07
  • Python依賴庫的幾種離線安裝方法總結(jié)

    Python依賴庫的幾種離線安裝方法總結(jié)

    這篇文章主要介紹了如何在Python中使用pip工具進(jìn)行依賴庫的安裝和管理,包括如何導(dǎo)出和導(dǎo)入依賴包列表、如何下載和安裝單個或多個庫包及其依賴,以及如何指定不同的Python源進(jìn)行安裝,需要的朋友可以參考下
    2025-03-03
  • wxpython布局的實現(xiàn)方法

    wxpython布局的實現(xiàn)方法

    這篇文章主要介紹了wxpython布局的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評論

瑞金市| 土默特左旗| 建昌县| 磐安县| 井冈山市| 深水埗区| 乌海市| 临朐县| 潼南县| 乌兰浩特市| 富锦市| 潍坊市| 平远县| 广宗县| 临汾市| 蒙阴县| 新龙县| 泗洪县| 普定县| 九寨沟县| 固安县| 克拉玛依市| 濮阳县| 泸溪县| 伊吾县| 武强县| 五寨县| 汝阳县| 泰宁县| 莱西市| 田东县| 大新县| 临安市| 乌鲁木齐县| 木兰县| 马关县| 前郭尔| 常德市| 芜湖县| 柳江县| 达尔|