Permmison拒绝创建文件夹当我在ubuntu16.04上使用Django项目时

时间:2018-03-03 04:11:40

标签: python django permissions

当有人问他们何时使用Django项目时,我已经预览了一些关于权限问题的问题,这是www-data权限的结果。 即使我在Django项目中为所有文件和文件夹提供了777权限,我仍然无法创建文件夹。

drwxrwxrwx 4 www-data www-data  4096 Mar  3 11:40 blog
-rwxrwxrwx 1 www-data www-data 38912 Mar  1 16:52 db.sqlite3
-rwxrwxrwx 1 www-data www-data   539 Mar  1 16:37 manage.py
drwxrwxrwx 3 root     root      4096 Mar  3 11:49 media
drwxrwxrwx 3 www-data www-data  4096 Mar  3 11:38 project

在我的views.py中:

from django.shortcuts import render
import os

from django.http import HttpResponse

def index(request):
    return HttpResponse('Hello World')

def create(request):
    if(os.mkdir("hello/")):
        return HttpResponse("success")
    else:
        return HttpResponse("failed")
# Create your views here.

以下是错误信息:

[Errno 13] Permission denied: 'hello/'
Request Method: GET
Request URL:    http://58.87.85.248/create/
Django Version: 2.0.2
Exception Type: PermissionError
Exception Value:    
[Errno 13] Permission denied: 'hello/'
Exception Location: /var/www/html/project/blog/views.py in create, line 10
Python Executable:  /usr/bin/python3
Python Version: 3.5.2
Python Path:    
['/var/www/html/project',
 '/usr/lib/python35.zip',
 '/usr/lib/python3.5',
 '/usr/lib/python3.5/plat-x86_64-linux-gnu',
 '/usr/lib/python3.5/lib-dynload',
 '/usr/local/lib/python3.5/dist-packages',
 '/usr/lib/python3/dist-packages']
Server time:    Sat, 3 Mar 2018 04:58:45 +0000

非常感谢您查看我的问题。

1 个答案:

答案 0 :(得分:1)

chmod 777确定文件模式,但chown确定文件/文件夹所有者。验证文件夹(而不是文件)是否由尝试写入该进程的进程的同一用户拥有。您可以尝试使用

递归地指定文件和文件夹所有权
chown -R username:username /path/to/folder