更改上传文件的名称并保存到Django中的文件夹

时间:2015-10-26 03:49:33

标签: python django file-handling

过去一天我一直在尝试这个,但仍然无法解决这个问题。

考虑用户使用

上传ReportCard

models.py

class ReportCard(models.Model):
  student_id = models.CharField(max_length=15)
  report_card = models.CharField(max_length=20)

我使用CharField因为它可能是动态的,所以我以这种方式存储它。

所以在我的

views.py

  if report_card_form.is_valid():
    student_id = report_card_form.cleaned_data['id']
    report_card = request.FILES['report_card']
    report_card_form.save(student_id, report_card)

当然,在我的

forms.py

def save(student_id, report_card):
  count_report = ReportCard.objects.filter(student_id=student_id).count() + 1
  new_name = student_id + '_' + str(count_report+1)
  rc = ReportCard(student_id=student_id, report_card=new_name)

每张成绩单都保存在属于每个学生的文件夹中。每个学生都有他/她自己的文件夹。

我的问题是,如何重命名报告卡文件,并将其保存在正确的文件夹中?我没有使用models,但我仍然认为有可能。尝试使用os重命名文件,但仍无济于事。任何人?

0 个答案:

没有答案