我上傳文件並將數據存儲在數據庫中。部分元數據是文件名稱本身。然而,在某個地方,文件名似乎沒有得到保存!我只會粘貼我認爲是代碼相關部分的內容,以保持簡短。保存表單後&前Django文件上傳:文件名不粘
class UploadFile(models.Model):
...
theFile = models.FileField(upload_to = "Genius/Uploads/", null = True)
filename = models.CharField(max_length = 50, blank = True, null = False)
class UploadFileForm(ModelForm):
class Meta:
model = UploadFile
fields = ('title', 'theFile', 'date_uploaded',) # Don't prompt for filename
def files_upload(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
form.filename = request.FILES['theFile'].name # TODO: sanitize!
# form.filename = 'foo'
form.save()
return HttpResponseRedirect('/files/upload/successful/')
else:
form = UploadFileForm()
return render_to_response('files/upload_file.html', { 'form': form })
我已經檢查request.FILES [ 'theFile']的值。名稱。無論出於何種原因,它是完整的,但似乎從未將其納入數據庫。
只是一個旁註:一些瀏覽器只發送文件名,其他瀏覽器發送給你整個路徑。 – CodesInChaos 2011-01-29 23:47:27