2016-06-01 3 views
0

Loggedinに応じて特定のフォルダに画像を保存するにはどうすればよいですか? 私のプログラムは、ログイン後に を登録するすべてのユーザーのためのフォルダを作成し、いくつかの画像をアップロードすることができます。Django - 現在のユーザーに画像をアップロードする(Loggedin)

問題は、私は私の画像を保存しようとすると、私は(ユーザーIDで)アップロードされようとしているパスを指定する必要がある

例:

ボブはLOGGEDINある場合は、あなたがアップロードされますここでの画像:宇宙/ユーザー/ bob123/example.png

モデル

class StudentPhotos(models.Model): 
    image = models.ImageField(upload_to= ??? , default="", null=True) 
    image_id = models.CharField(max_length = 15, null=False, editable=False, default=id_generator, primary_key=True) 
    user_id = models.CharField(max_length = 15, null=False, default="") 

主な理由

class StudentPhotos(models.Model): 
    image = models.ImageField(upload_to=name) 
    user = models.ForeignKey(User) 

ここ(:その方法は、ユーザ

答えて

0

から私のadminサイト内のすべての画像をもたらすことができるようにすることです、それを保存することは(唯一のデモンストレーションを)次のようにあなたのようなモデルを考えてみましょう次のようにupload_to = name)は関数とすることができる。

def name(instance, fname): 
    return '/'.join(instance.user.get_full_name(), fname) 

私は個人的に簡単サムネイル私のモデルの画像フィールドを持つことの目的のためにを利用すると、私は名前を使用することができています上記のように機能します。

希望すると、いくつかの関連情報を推測し、必要に応じてより良い解決策を考え出すことができます。

関連する問題