问题1:我想将文件上传到自定义目录,我的文件名将保存在数据库中。我的文件很好地上传,甚至文件名保存在数据库中,但问题是我的文件将转到tmp目录。
那么如何在代码中设置我的上传目录路径?我想要的目录是MEDIA_ROOT
/static/uploads/
这是我到目前为止所尝试的(多文件处理)
for file_name in request.FILES.getlist('project_file'):
full_filename = os.path.join(settings.MEDIA_ROOT, '/', file_name)
project_files = ProjectFile.objects.create(file_name=file_name,project_id=proj_id)
project_files.save()
但是这显示以下错误
' InMemoryUploadedFile'对象没有属性'替换'
我的ProjectFile
型号
class ProjectFile(models.Model):
project = models.ForeignKey(Project)
file_name = models.CharField(max_length=100)
def __unicode__(self):
return self.id
问题2:我需要Form
课程完成的django编辑表单的示例或演示,而不是ModelForm
我是django的新手。请帮忙
答案 0 :(得分:0)
os.path.join
添加了'/'字符。该行应该读
full_filename = os.path.join(settings.MEDIA_ROOT, file_name)
我不明白你的错误 - 你说文件被正确上传但是到了错误的目录,然后发布了一个堆栈跟踪片段,意味着该方法失败了:)这看起来像你的模型对象有问题 - 包括堆栈跟踪线,告诉您故障在哪一行,并包含模型代码,我们也会查看错误。