簡體   English   中英

Django和South的動態文件路徑

[英]Dynamic File Path in Django and South

我在設置imageField的動態路徑時遇到問題。

這是我的models.py

class Imagen(models.Model):

def get_upload_path(self, filename):
  return os.path.join(
  "img/experiencias/experiencia_%d" % self.id_experiencia.id, 'ficha' + '_' + filename)

nombre = models.CharField(max_length=50)
id_experiencia = models.ForeignKey(TipoExperiencia)
imagen = models.ImageField(upload_to= get_upload_path)
caption = models.CharField(max_length=150,blank=True)
alt = models.CharField(max_length=100)

這是我在這里找到的解決方案

這實際上在更新對象時工作正常,但是當我嘗試插入新元素時,插入失敗,因為在那一刻self不存在。

我在這里嘗試了另一個解決方案其建議是重寫ImageField方法來自定義upload_to。

問題是我使用South, 管理自定義字段非常困難

我使用Django 1.5。 我想知道是否存在任何簡單的方法來管理django中的動態文件路徑

謝謝

或者,您可以覆蓋save方法以將文件移動到正確的路徑。

class Model(models.Model):
  def save(self, *args, **kwargs):
    instance = super(Model, self).save(*args, **kwargs)
    # your logic here to change the file location
    return instance

我想你可以和Unipath一起離開這里。

Unipath用法

暫無
暫無

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

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