Django文件上传获取数据并存储在数据库中
我是Django的新手,希望获得有关文件上传的建议。用户可以上传多个文件,但我不希望将文件存储在数据库中。我只想从文件中获取数据并将数据存储在数据库中。有办法吗?将文件存储在本地是一种方法吗 我已经看到了在本地临时存储文件的方法,但是我已经看到了一些例子,其中我们需要指定自己的计算机路径,对于不同的计算机可能会有所不同。有没有一种方法可以指定任何计算机可以在本地存储文件的路径Django文件上传获取数据并存储在数据库中,django,Django,我是Django的新手,希望获得有关文件上传的建议。用户可以上传多个文件,但我不希望将文件存储在数据库中。我只想从文件中获取数据并将数据存储在数据库中。有办法吗?将文件存储在本地是一种方法吗 我已经看到了在本地临时存储文件的方法,但是我已经看到了一些例子,其中我们需要指定自己的计算机路径,对于不同的计算机可能会有所不同。有没有一种方法可以指定任何计算机可以在本地存储文件的路径 很抱歉没有代码,因为我仍在考虑如何操作。大多数人会说,只需将文件路径存储在数据库中,然后让web服务器为文件提供服务。除
很抱歉没有代码,因为我仍在考虑如何操作。大多数人会说,只需将文件路径存储在数据库中,然后让web服务器为文件提供服务。除非您希望人们上传电子表格之类的东西,否则您应该使用电子表格插件将内容放入列表和字典中,您可以将其作为模型写出 以下是如何按照您要求的方式进行操作:
def handle_uploaded_file(upload):
contents = file.read() # Add .decode('ascii') if Python 3
my_model = MyModel(some_other_field='something')
my_model.field = contents
my_model.save()
class UploadFileForm(forms.Form):
title = forms.CharField(max_length=50)
file = forms.FileField()
def upload_file(request):
if request.method == 'POST':
form = UploadFileForm(request.POST, request.FILES)
if form.is_valid():
handle_uploaded_file(request.FILES['file'])
return HttpResponseRedirect('/success/url/')
else:
form = UploadFileForm()
return render(request, 'upload.html', {'form': form})