Rah*_*dav 4 python django ubuntu django-models permission-denied
我在 ubuntu 中使用 Django 3.1,
我上传媒体文件时出错
PermissionError at /admin/main/artist/1/change/
[Errno 13] Permission denied: '/media/artists'
Exception Type: PermissionError
Exception Value:
[Errno 13] Permission denied: '/media/artists'
Exception Location: /usr/lib/python3.8/os.py, line 223, in makedirs
Python Executable: /home/rahul/.local/share/virtualenvs/music-69qL54Ia/bin/python
Run Code Online (Sandbox Code Playgroud)
这段代码在windows下有效,但在ubuntu下无效
设置.py
STATIC_URL = '/static/'
STATICFILES_DIRS = [BASE_DIR / 'static']
MEDIA_URL = '/media/'
MEDIA_ROOT = BASE_DIR / '/media/'
Run Code Online (Sandbox Code Playgroud)
模型.py
class Artist(models.Model):
image = models.ImageField(upload_to='artists/%Y/%m/%d/', default='demo-artist.jpg', null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)
我尝试过但没有成功
/sf/ask/1525816071/
Run Code Online (Sandbox Code Playgroud)
小智 7
我遇到了同样的错误并使用shell
在您的settings.py文件中: 更改:
MEDIA_ROOT = BASE_DIR / '/media/'
# here, MEDIA_ROOT = '/media/'
Run Code Online (Sandbox Code Playgroud)
到:
MEDIA_ROOT = BASE_DIR / 'media/'
# here, MEDIA_ROOT = 'path-to-project/media/'
Run Code Online (Sandbox Code Playgroud)
我认为发生这种情况是因为您正在尝试加入Linux 中用于安装媒体的目录your project level dir。/media/并且会导致权限被拒绝,因为root具有写入权限,您可能没有使用sudo. 因此,您可以删除第一个\以使目录相对。
| 归档时间: |
|
| 查看次数: |
10968 次 |
| 最近记录: |