我的django项目已经在Apache2上运行了一天了。这是总体结构:
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
cache.txt
似乎每个人都应该能够阅读cache.txt
,但是我得到了这个错误。为什么会发生这种情况?我如何解决?你知道吗
我不确定这是否是您的问题,但我看到过这样的问题:父目录没有标记为可读和可执行,并且阻止服务器访问它。试试
chmod +x $PROJECT_ROOT/autocache
相关问题 更多 >
编程相关推荐