首页 > 解决方案 > 使用Django时如何正确存储excel文件

问题描述

我正在将本地计算机上具有经典 GUI 的 Python 应用程序切换到我的 Django 网站上的基于云的应用程序,并且想知道在处理应用程序时存储用户文件的正确方法。

目前我正在使用模块中的FileFieldmodels来上传文件。我将upload_to=参数设置为一个新文件夹 anmed spreadsheets/。我想知道这是否是存储将被处理然后很快丢弃的文件的正确方法。或者我应该将文件存储在内存中(以某种方式)以使过程更快并且代码更简单?

当前模型.py:

class Spreadsheets(models.Model):
    title = models.CharField(max_length=100)
    xls = models.FileField(upload_to='spreadsheets/')

    def __str__(self):
        return self.title

当前处理上传的 views.py 函数:

@login_required
def upload_sheet(request):
    if request.method == 'POST':
        ss_form = SpreadsheetForm(request.POST, request.FILES)
        if ss_form.is_valid():
            ss_form.save()
            return redirect('sheet_list')
    else:
        ss_form = SpreadsheetForm
    return render(request, 'uploader/upload_sheet.html', {
        'ss_form': ss_form
    })

此外,Model该类期望title作为参数给出。有没有办法告诉 Python 在Spreadsheets子类中忽略这个参数?

标签: pythondjango

解决方案


推荐阅读