Pythonanywhere 将图像文件保存在一级父目录中,而不是正确的目录中。 *开发服务器进展顺利)
Pythonanywhere save the image files on the one step parent directory rather than correct directory. *development server goes good way)
我已经制作了自定义字段来保存图像和缩略图。缩略图应保存在“/.../.../targetimage/thumbnails/”文件夹中,全尺寸图像应保存在“.../.../targetimage/”文件夹中。
当我 运行 本地开发服务器上的自定义字段文件时,图像进入正确的目录。但是在 pythonanywhere 中,原始图像和缩略图图像进入同一目录。
我不明白为什么 Pythonanywhere 以不同的方式运行。
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 上以一种方式运行,在 PythonAnywhere 上以另一种方式运行。我怀疑问题的主要原因是在 \ 上拆分,因为在 PythonAnywhere 上,您不会获得在 \ 上拆分将其分成目录部分的路径。
我已经制作了自定义字段来保存图像和缩略图。缩略图应保存在“/.../.../targetimage/thumbnails/”文件夹中,全尺寸图像应保存在“.../.../targetimage/”文件夹中。
当我 运行 本地开发服务器上的自定义字段文件时,图像进入正确的目录。但是在 pythonanywhere 中,原始图像和缩略图图像进入同一目录。 我不明白为什么 Pythonanywhere 以不同的方式运行。
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 上以一种方式运行,在 PythonAnywhere 上以另一种方式运行。我怀疑问题的主要原因是在 \ 上拆分,因为在 PythonAnywhere 上,您不会获得在 \ 上拆分将其分成目录部分的路径。