我已經建立在我的項目的嚮導。 在第一步中,我創建一個「Building」對象並將其保存在數據庫中。 在第二步中,我讓用戶上傳第一步中保存的建築物的圖像。Django中不能使用的upload_to PK中的對象尚未保存
的圖像是在大樓的模型。
當我嘗試定製圖像的保存路徑,我發現「instance.pk」莫屬。
同樣的事情發生,如果我嘗試訪問模式,應在「實例」的每個屬性。我可以訪問的唯一屬性是那些我在View手動設置(例如:諾姆,descrizione,...)
我不undersant爲什麼發生這一點。有人可以向我解釋嗎?模型的
部分:
class Building(models.Model):
utente = models.ForeignKey(User);
nome = models.CharField(max_length=200, unique=True)
descrizione = models.TextField(max_length=1000, blank=True)
link = models.URLField(blank=True)
foto = ImageField(upload_to=content_file_name, blank=True)
...
Content_file_name:
視圖(第2嚮導步驟)def content_file_name(instance, filename):
estensione = '.jpg'
posizione_punto = filename.rfind('.')
if posizione_punto > 0:
estensione = filename[posizione_punto:]
return '/'.join(['buildings', str(instance.pk), 'vetrina'+estensione])
部分:
# I load the building from the db
building = get_object_or_404(Building, pk=b_id)
if request.method == 'POST':
form = StepOneForm(request.POST, request.FILES)
if form.is_valid():
data = form.save(commit=False)
building.data_update = datetime.datetime.now()
building.nome = data.nome
building.descrizione = data.descrizione
building.link = data.link
building.foto = data.foto
building.save()
...
對於第1點,我使用sorl.thumbnail,請參閱此處的[docs](http://sorl-thumbnail.readthedocs.org/en/latest/examples.html#model-examples) 2.我不明白它與我的問題有什麼關係:我正在處理從窗體到「建築物」對象的數據... – 2013-02-23 15:26:46
好吧,現在我明白了...... 謝謝你的幫助! – 2013-02-23 15:37:36
沒問題 - 很高興你能工作! – 2013-02-23 16:08:38