亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Django FileField,在運行時確定upload_to

Django FileField,在運行時確定upload_to

慕姐4208626 2019-08-15 16:11:29
Django FileField,在運行時確定upload_to我正在嘗試設置我的上傳,以便如果用戶joe上傳文件,則轉到MEDIA_ROOT / joe,而不是讓每個人的文件都轉到MEDIA_ROOT。問題是我不知道如何在模型中定義它。以下是目前的情況:class Content(models.Model):     name = models.CharField(max_length=200)     user = models.ForeignKey(User)     file = models.FileField(upload_to='.')所以我想要的不是'。' 作為upload_to,讓它成為用戶的名字。據我所知,從Django 1.0開始,您可以定義自己的函數來處理upload_to,但該函數不知道用戶是誰,所以我有點迷失。謝謝您的幫助!
查看完整描述

3 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

你可能已經閱讀了文檔,所以這里有一個簡單的例子讓它有意義:

def content_file_name(instance, filename):
    return '/'.join(['content', instance.user.username, filename])class Content(models.Model):
    name = models.CharField(max_length=200)
    user = models.ForeignKey(User)
    file = models.FileField(upload_to=content_file_name)

正如您所看到的,您甚至不需要使用給定的文件名 - 如果您愿意,您也可以在upload_to中調用它。


查看完整回答
反對 回復 2019-08-15
  • 3 回答
  • 0 關注
  • 1710 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號