djangoのadminでファイルをアップロードする際に、名前のフォルダを指定できますか?

私は持っていると言うことができます:

class Book(models.Model):
    name = models.CharField(max_length=50)
class Design(models.Model):
    image = models.ImageField(upload_to="background/")

私は自分のロケーションファイルがクラスBook nameと同じ名前を持つことを望みます。

たとえば、私はHPという名前の本を持っています。私は、HP /バックグラウンドのフォルダを持っています。

誰かが私を助けることができますか?ありがとう

0

1 答え

これを行うには、呼び出し可能コードを使用するとよいでしょう。

Django describes this in the documentation: FileField

したがって、呼び出し可能なiso harcoded値を使用してモデルクラスを記述することができます。

class Design(models.Model):
  image = models.ImageField(upload_to=get_path)

呼び出し可能なもの自体には2つの引数が渡されます。 最初の引数 " instance "はモデルインスタンスを表します。 "デザイン"モデルが何らかの "ブック"モデルを参照している場合は、パスを構築するために必要なデータを取得できます。

0
追加された
いくつかの例を教えていただけますか?前もって感謝します。
追加された 著者 david,