我上传文件并将数据存储在数据库中。部分元数据是文件名称本身。然而,在某个地方,文件名似乎没有得到保存!我只会粘贴我认为是代码相关部分的内容,以保持简短。保存表单后&前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