阿帕奇i上的Django

2024-09-30 16:26:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我的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

据我所知,这意味着

  1. 它是一个文件
  2. 所有者可以读、写和执行它
  3. 组可以读取、写入和执行它
  4. 每个人都可以阅读
  5. 它的所有者是root
  6. 它的组是root
  7. 上次修改时间是2017年8月10日16:06
  8. 它被称为cache.txt

似乎每个人都应该能够阅读cache.txt,但是我得到了这个错误。为什么会发生这种情况?我如何解决?你知道吗


Tags: appspathdjangofrompyimporttxtproject