首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >/user/1/ OSError [Errno 13]权限被拒绝:OSError

/user/1/ OSError [Errno 13]权限被拒绝:OSError
EN

Stack Overflow用户
提问于 2017-09-27 15:29:31
回答 2查看 1.1K关注 0票数 1

据我所知,我的Django站点是实时的,除了当用户试图上传配置文件图像时,所有操作都是正确的:

代码语言:javascript
复制
OSError at /user/1/edit
[Errno 13] Permission denied: '/home/django/django_project/media/profile_pics/Square.jpg'

我以前从没见过这个所以我不知道该怎么做.

这是回溯:

代码语言:javascript
复制
Traceback Switch to copy-and-paste view

/usr/local/lib/python2.7/dist-packages/django/core/handlers/exception.py in inner
            response = get_response(request) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in _legacy_get_response
            response = self._get_response(request) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in _get_response
                response = self.process_exception_by_middleware(e, request) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py in _get_response
                response = wrapped_callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py in view
            return self.dispatch(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/contrib/auth/mixins.py in dispatch
        return super(LoginRequiredMixin, self).dispatch(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/views/generic/base.py in dispatch
        return handler(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/views/generic/edit.py in post
        return super(BaseUpdateView, self).post(request, *args, **kwargs) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/views/generic/edit.py in post
            return self.form_valid(form) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/views/generic/edit.py in form_valid
        self.object = form.save() ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/forms/models.py in save
            self.instance.save() ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/base.py in save
                       force_update=force_update, update_fields=update_fields) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/base.py in save_base
            updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/base.py in _save_table
                      for f in non_pks] ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/fields/files.py in pre_save
            file.save(file.name, file.file, save=False) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/db/models/fields/files.py in save
        self.name = self.storage.save(name, content, max_length=self.field.max_length) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py in save
        return self._save(name, content) ...
▶ Local vars
/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py in _save
                    fd = os.open(full_path, flags, 0o666) ...
▶ Local vars

更新:当用户试图将post中的图像上传到post提要时也会发生此错误,但是它指向媒体文件夹中的post_pics而不是profile_pic文件夹,就像它在此错误中所做的那样。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-27 16:19:21

更改/media目录的权限。

代码语言:javascript
复制
sudo chmod a+rw  media
票数 1
EN

Stack Overflow用户

发布于 2017-09-27 16:24:00

您需要授予服务器将文件写入媒体目录的权限。

最简单的方法是使用media命令将www-data目录的组更改为服务器的组-www-data

光盘到项目的目录中,并将以下内容写成:

代码语言:javascript
复制
sudo chown -R <your-username>:www-data media

当然,用用户名替换<your-username>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46451805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档