我天大的Django項目已經在Apache 2上運行這是一般結構:Django的Apache的IO錯誤
root/apps/django/django_projects/Project
├── autocache
│ ├── cache.py
│ └── cache.txt
├── conf
├── manage.py
├── Project
│ ├── __init__.py
│ ├── settings.py
│ ├── urls.py
│ ├── wsgi.py
│ └── ...
├── myapp
│ ├── __init__.py
│ ├── apps.py
│ ├── views.py
│ ├── urls.py
│ └── ...
當顯示myapp
,我只是展現cache.txt
內容。這是我必須做的是:
from django.shortcuts import render
from django.http import HttpResponse
from django.conf import settings
import os
def index(request):
cache_path = os.path.join(settings.CACHE_DIR, 'cache.txt')
with open(cache_path, 'r') as cache:
return HttpResponse(cache.read())
return "Could not open file"
的問題是,一個異常被拋出:
Request Method: GET
Request URL: http://myip/Project/subwayapp/
Django Version: 1.11.5
Exception Type: IOError
Exception Value:
[Errno 13] Permission denied: '/root/apps/django/django_projects/Project/autocache/cache.txt'
Exception Location: /opt/bitnami/apps/django/django_projects/Project/myapp/views.py in index, line 8
Python Executable: /opt/bitnami/python/bin/python
Python Version: 2.7.13
然而,這是ls -l
爲cache.txt
輸出:
-rwxrwxr-- 1 root root 17 Oct 8 16:06 cache.txt
據我所知,這意味着
- 這是一個文件
- 所有者可以讀,寫和執行它
- 組可以讀,寫和執行它
- 每個人都可以閱讀
- 它的主人是
root
- 本組是
root
- 上次在16:06
- 修訂於17年10月8日它被稱爲
cache.txt
這似乎是每個人都應該能夠讀取cache.txt
,但是我得到這個權限被拒絕IO錯誤。爲什麼會發生這種情況,我該如何解決?
,你可以嘗試打開從外殼的文件嗎?它會是同樣的結果嗎? –