Image Pythonywhere将图像文件保存在单步父目录而不是正确的目录中*开发服务器(运行良好)

Image Pythonywhere将图像文件保存在单步父目录而不是正确的目录中*开发服务器(运行良好),image,file,path,pythonanywhere,Image,File,Path,Pythonanywhere,我已经做了自定义字段来保存图像和thumnail。Thumnail应保存在“/…/…/targetimage/thumbnails/”文件夹中,全尺寸图像应保存在“…/…/targetimage/”文件夹中 当我在本地开发服务器上运行customfield文件时,图像进入正确的目录。但是在pythonywhere中,原始图像和缩略图放在同一个目录中。 我不明白为什么蟒蛇的行为方式不同 fields.py def _add_path_to_thumb(s): print('this is

我已经做了自定义字段来保存图像和thumnail。Thumnail应保存在“/…/…/targetimage/thumbnails/”文件夹中,全尺寸图像应保存在“…/…/targetimage/”文件夹中

当我在本地开发服务器上运行customfield文件时,图像进入正确的目录。但是在pythonywhere中,原始图像和缩略图放在同一个目录中。 我不明白为什么蟒蛇的行为方式不同

fields.py

def _add_path_to_thumb(s):
    print('this is path',s)
    fname_list=[]
    parts = s.split(".")
    print('this is parts',parts)
    pathparts=parts[0].split("\\")
    print('this is pathparts', pathparts)
    fname_list.append(pathparts[-1])
    fname_list.append('-thumb')
    fname_list.append('.jpg')
    fname ="".join(fname_list)
    del pathparts[-1]
    pathparts.extend(['thumbnails\\'])
    print('this is pathparts final', pathparts)
    path_prop = "\\".join(pathparts)
    print('this is pathparts final prop', path_prop)
    MEDIA_ROOT_THUMB = os.path.join(MEDIA_ROOT, 'target_image/thumbnails/')
    print('this is media_root_thumb', MEDIA_ROOT_THUMB)
    fullopathusingos = os.path.join(MEDIA_ROOT_THUMB,fname)
    print('this is full path using os ',fullopathusingos )

    fullpath = path_prop+fname
    return fullopathusingos



您正在使用\和/作为路径分隔符进行切换。它将在Windows上以一种方式运行,在Python上以另一种方式运行。我怀疑问题的主要原因是在\上拆分,因为在PythonyWhere上,您将无法获得一个路径,在该路径上拆分\将其拆分为目录部分。

非常感谢。该问题是由拆分函数引起的。我删除了它,并完全使用了os.path模块。我意识到操作系统的问题导致了这种混乱。使用以下代码完全解决了该问题
def\u添加路径到路径列表:路径列表=os.path.split(s)fpath=os.path.dirname(s)fname=path\u列表[1]fname\u s\u ext=os.path.splitext(fname)[0]thumb\u fname=fname\u ext+'-thumb.jpg'fpath\u用于路径缩略图=os.path.join(fpath,'thumbnails')fullpath=os.path.join(fpath\u用于缩略图,thumbname)返回完整路径