Django - 媒体上传 [Errno 13] 权限被拒绝

标签 django django-admin

我在让 django 很好地处理图像上传时遇到了一些麻烦。我的脚本将根据日期创建目录,如下所示:

file = models.FileField(upload_to='uploads/%m-%Y/')

现在,如果我在上传文件夹中创建过时的目录并将文件夹 chmod 修改为 755,上传工作正常,但是如果我尝试修改上传文件夹而不创建过时的子文件夹(我需要 django 来做),我是出现权限错误。

如何使文件夹允许创建子文件夹?

这是一个追溯:
Django Version: 1.3
Python Version: 2.5.2
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.admin',
 'tagging',
 'mediamanager',
 'livesettings',
 'projects']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware')


Traceback:
File "/var/lib/python-support/python2.5/django/core/handlers/base.py" in get_response
  111.                         response = callback(request, *callback_args, **callback_kwargs)
File "/var/lib/python-support/python2.5/django/utils/decorators.py" in _wrapped_view
  93.                     response = view_func(request, *args, **kwargs)
File "/var/lib/python-support/python2.5/django/contrib/auth/decorators.py" in _wrapped_view
  23.                 return view_func(request, *args, **kwargs)
File "/var/www/enigma-dev/enigma/mediamanager/views.py" in upload_media
  24.           m.upload_media(data=form.cleaned_data, params=params)
File "/var/www/enigma-dev/enigma/mediamanager/models.py" in upload_media
  63.       self.save()
File "/var/lib/python-support/python2.5/django/db/models/base.py" in save
  460.         self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/var/lib/python-support/python2.5/django/db/models/base.py" in save_base
  543.                         for f in meta.local_fields if not isinstance(f, AutoField)]
File "/var/lib/python-support/python2.5/django/db/models/fields/files.py" in pre_save
  255.             file.save(file.name, file, save=False)
File "/var/lib/python-support/python2.5/django/db/models/fields/files.py" in save
  92.         self.name = self.storage.save(name, content)
File "/var/lib/python-support/python2.5/django/core/files/storage.py" in save
  49.         name = self._save(name, content)
File "/var/lib/python-support/python2.5/django/core/files/storage.py" in _save
  166.             os.makedirs(directory)
File "/usr/lib/python2.5/os.py" in makedirs
  171.     mkdir(name, mode)

Exception Type: OSError at /media-manager/upload/
Exception Value: [Errno 13] Permission denied: '/var/www/site-dev/site/static/uploads/04-2011'

最佳答案

我遇到了同样的错误并通过更改来修复它:

MEDIA_ROOT = '/media/'

到:
MEDIA_ROOT = 'media/'

settings.py .

关于Django - 媒体上传 [Errno 13] 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5543641/

相关文章:

python - Django中的通用一对一关系

python - 在 django 管理过滤器 list_filter 中选择多个选项?

python - Django(grappelli): how add my own css to all the pages or how to extend admin's base. html?

django - 我应该修改/扩展管理界面,还是编写自己的 CRUD View /模板?

python - 现在要将此字符串转换为 Python 或 Django 中的日期时间对象?

python - 无法打开包含文件 : 'mysql.h'

python - 无法通过 python 的 Facebook Graph API 将附件(带有图像)发布到 Facebook 页面

Django rest 框架自定义 Response 中间件

python - 基数为 10 : '[' when doing a filter with request. 主体的文字 int() 无效

python - 如何使用自定义用户从 Django 管理中的用户继承字段?