Errno 13 尝试将图像保存到 media_root 时权限被拒绝
Errno 13 Permission denied, when trying to save an image to media_root
我在 pythonanywhere.com 上托管了我的 python + django 项目,当我想保存带有图像的项目时遇到了问题。 item
的所有其他字段正在保存,但图像没有。
这是整个错误:
PermissionError at /admin/core/bike/add/
[Errno 13] Permission denied: '/home/omega/resizedComm/media_root/bikes/xx.png'
我的设置:
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_in_env')]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')
什么可能导致此错误?
好的,所以当我将 MEDIA_ROOT
更改为不同的路径时它实际上可以工作(它创建文件夹并在那里上传图像),但是当我尝试将图像保存到原始 media_root
。有什么想法吗?
您的错误和 ls 的输出表明您尝试写入的文件夹没有写入权限。
您需要手动或通过代码授予写入权限。如果你的代码是 运行 作为 omega,那么 chmod u+w <folder path>
应该这样做。在 python 中,使用数字代码 755 的 chmod 应该可以做到。
import os
os.chmod(<folder path>, 755)
我在 pythonanywhere.com 上托管了我的 python + django 项目,当我想保存带有图像的项目时遇到了问题。 item
的所有其他字段正在保存,但图像没有。
这是整个错误:
PermissionError at /admin/core/bike/add/
[Errno 13] Permission denied: '/home/omega/resizedComm/media_root/bikes/xx.png'
我的设置:
STATIC_URL = '/static/'
MEDIA_URL = '/media/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static_in_env')]
STATIC_ROOT = os.path.join(BASE_DIR, 'static_root')
MEDIA_ROOT = os.path.join(BASE_DIR, 'media_root')
什么可能导致此错误?
好的,所以当我将 MEDIA_ROOT
更改为不同的路径时它实际上可以工作(它创建文件夹并在那里上传图像),但是当我尝试将图像保存到原始 media_root
。有什么想法吗?
您的错误和 ls 的输出表明您尝试写入的文件夹没有写入权限。
您需要手动或通过代码授予写入权限。如果你的代码是 运行 作为 omega,那么 chmod u+w <folder path>
应该这样做。在 python 中,使用数字代码 755 的 chmod 应该可以做到。
import os
os.chmod(<folder path>, 755)