这是我的django代码。
我想在特定位置上传我的文件,并且该路径是动态创建的。
def get_upload_file(instance, filename):
today_date = datetime.datetime.today().date()
directory = 'Data/'+ str(today_date)
if not os.path.exists(directory):
os.makedirs(directory)
full_path = str(directory)+"/%s" %(filename)
print "full_path --> ",full_path
# user = updated_path()
# print user
return full_path
class UploadFile(models.Model):
path = models.FileField(upload_to=get_upload_file)
我正在尝试上面的代码上传文件,但我想要其中的另一个目录,其名称是用户名。
预期产出
Data/2015-08-16/username/
然后我想在用户名目录中上传文件
任何解决方案请帮助我
答案 0 :(得分:1)
最后,我得到了上述问题的解决方案。当我为该实例创建类实例集请求对象并在get_upload_file函数中访问该请求对象时
class UploadFile(models.Model):
path = models.FileField(upload_to=get_upload_file)
reqObj = None
def set_reqObj(self, request):
self.reqObj = request
new_file = UploadFile(path = afile)
new_file.set_reqObj(request)
在get_upload_file函数中使用reqObj
instance.reqObj.user.username
更新了get_upload_file函数
def get_upload_file(instance, filename):
today_date = datetime.datetime.today().date()
directory = 'Data/'+ str(today_date)+'/'+instance.reqObj.user.username
if not os.path.exists(directory):
os.makedirs(directory)
full_path = str(directory)+"/%s" %(filename)
return full_path