簡體   English   中英

如何將圖像保存在以用戶命名的目錄中?

[英]How to save an image in a directory named on the User?

我正在使用 Django2.2,目前正在學習 Django。 我創建了一個模型,我必須在其中發布某個事物的圖像,並且該模型與用戶相關聯。 我想將圖像保存在以該特定用戶命名的目錄中

我有一個自定義用戶模型,我在其中創建了一個名為“個人資料照片”的字段,並將該個人資料照片保存到以該用戶命名的目錄中。然后我創建了另一個名為“產品”的應用程序,並在那里創建了許多字段,包括一個圖像字段。我我試圖將該圖像保存在以該特定用戶命名的目錄中。

def user_directory_path(instance, filename):
   return 'media/%s/%s' % (instance.username, filename)

 class Products(models.Model):  
   title = models.CharField(max_length=100)
   body = models.CharField(max_length=1000)
   image = models.ImageField(upload_to = user_directory_path)
   product_user = models.ForeignKey(User, on_delete=models.CASCADE)

   def __str__(self):
         return self.title

當我嘗試保存產品並發生錯誤時。

'Products' object has no attribute 'username'

有沒有什么成功的方法可以做到。

Products實例確實沒有username屬性。 product_user有,因此您可以將其更改為:

def user_directory_path(instance, filename):
   return 'media/%s/%s' % (instance.product_user.username, filename)

注意:模型通常具有單數名稱,因此Product ,而不是Products

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM