2
我最近一直在爲我的小博客網站實施ajax based file uploader。我也有一個小的表單(與ajax文件上傳器在同一頁面上),它收集諸如姓名,電子郵件ID等基本信息。現在,我遇到的問題是,當用戶通過ajax上傳器上傳文件時並完成表格,我無法獲得上傳文件的「文件名」。Django ajax fileupload集成到模型表格
基本上,我想寫出從ajax上傳到我的表單字段的文件名。本身的上傳工作正常,我也可以通過螢火蟲看到POST消息。所以,我可以看到一些像這樣的JSON:
{
"path": "/media/uploads/paperscience_5055721894547287.pdf",
"success": true,
"filename": "paperscience_5055721894547287.pdf"
}
我想將「path」參數放入名爲filenames的表單域中。
我的Django代碼爲here
我將不勝感激任何指導,以實現上述。
我的模型有字段「filenames = models.CharField(max_length = 100,null = True,blank = True)」,我發出「exclude =('filenames',)」,以便它不會在我的模板上呈現。我已經從'#id_filenames'更改爲'#filenames',但我沒有看到文件名被記錄在我的發佈請求中。當你說「只需將隱藏字段附加到表單並且用戶提交時,這將成爲你的POST數據的一部分」,你能解釋我該如何實現這一點嗎?非常感謝。 – AJW
您可以使用jQuery向表單添加隱藏字段。如果你想使用POST鍵文件名提交該字段,那麼只需執行: '$('#form_id')。append('')' 在這裏form_id是您的表單ID,您應該添加一個,以便jQuery可以更快地找到它。這個塊應該放在你的回調函數中。因此,完整的塊將如下所示: 'if(responseJSON.success){('#form_id')。append(''); }); ' –
當你說「在這裏form_id是你的表單ID,你應該添加一個,以便jQuery可以更快地找到它」你到底意味着什麼?我什麼都沒有稱爲「form_id」,我想知道我應該在這裏使用什麼(?)。 – AJW