错误13:权限被拒绝 Django上传文件

3
我看过所有其他解决方案,但似乎没有一个适合我。这是我设置中的内容。
MEDIA_ROOT = '/Desktop/myapp/media/'
MEDIA_URL = 'http://127.0.0.1:8000/media/'

这是我的 admin.py 文件。
    image = models.FileField(upload_to='images/')

目前我正在本地主机服务器上运行此程序。当我尝试在管理员页面上传并保存图像时,出现错误:

[Errno 13] Permission denied: '/Desktop'

我已经尝试使用chmodchown更改模式,但仍然遇到相同的错误。我甚至通过执行 lsof -i 命令检查了 Python 是否可以访问此文件夹。我做错了什么?

2个回答

10

我刚遇到了绝对路径的同样问题,但我意识到了其他的事情。我之前是这样拼接路径的:

os.path.join(BASE_DIR, "/media")

但是,正如文档所述:

如果一个组件是绝对路径,则所有先前的组件都将被丢弃,连接将从绝对路径组件继续。

因此,删除根斜杠解决了问题:

os.path.join(BASE_DIR, "media")

干杯。


7

看来我已经回答了自己的问题。结果是一个非常小的问题。我所做的只是将媒体根路径更改为完整路径,然后就解决了问题。

MEDIA_ROOT = 'Users/username/Desktop/myapp/media/'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接