Python 上传到目录时锁定目录

Python 上传到目录时锁定目录,python,django,Python,Django,我一直在考虑在用户上传文件时用用户名和日期时间更新目录名。这样用户的最新上传就会显示在上面。我有一个上传功能,可以这样重命名: # Check if form is valid and upload if form.is_valid(): form.save(request.FILES, request) # Edit the previous folder to have new datetime and user marking if the folde

我一直在考虑在用户上传文件时用用户名和日期时间更新目录名。这样用户的最新上传就会显示在上面。我有一个上传功能,可以这样重命名:

# Check if form is valid and upload   
    if form.is_valid():
        form.save(request.FILES, request)
    # Edit the previous folder to have new datetime and user marking if the folder has such.
    currentPath = post_data.get('path').encode("utf-8")
    prevfolder = os.path.basename(post_data.get('path').encode("utf-8"))
    try:
        casename, rest = prevfolder.split(" [",1)
    #print(casename)
        dest = renameOnUpload(request,currentPath, casename)
    except:
        dest = form.path

        return HttpResponseRedirect('/fm/list/%s' % dest)

def renameOnUpload(request,path,casename):
    datetime_string = get_currenttime()
    user_string = " ["+ request.user.username + "]"
    newcasename = casename+user_string.encode("utf-8")+datetime_string
    dest = os.path.join(os.path.dirname(path), newcasename)
    if not path == dest:
        fmoper.move(path, dest)
    else:
        dest = path
    return dest
动作

def move(src, dst, replace=False):
    ensure_dir(dst)             # Ensure that we have a destination folder, if not create it. 
    if not replace and os.path.exists(dst):
        dst = existname(dst)
    return shutil.move(src, dst)
因此,它上载文件并在之后进行移动。这会在一个用户同时上载和另一个用户同时上载时产生问题,在此过程中重命名文件夹会导致一个上载者上载到不存在的文件夹


当用户上传到文件夹时,有没有什么好方法可以锁定该文件夹?currentPath是上载到并删除重命名文件夹的文件夹。

我看不出锁定的理由,您能否进一步解释一下,如果您的应用程序没有任何文件夹锁定(甚至没有实际锁定),会发生什么情况?谢谢我正在考虑时态文件、时态目录、基于时间戳的文件重命名、pre_save signals和其他避免文件名冲突的技术,但文件夹锁定并不合适。