2

所以我有以下问题:在 ivent 上,javascript 向 django 服务器发送一些文本,并且有两个函数可以工作:views.py:

def log(request):
  f = open('media/log.txt', 'r')
  return HttpResponse(f, mimetype='text/plain')

def modelers(request):
    mod_stat = request.POST['id']
    time = datetime.datetime.now().strftime("%b %d %Y %H:%M:%S")
    file=open('media/log.txt', 'a')
    file.write(time)
    file.write(' ')
    file.write(mod_stat)
    file.write('\n')
    file.close()

return ErrorResponse()

所以用户点击一个按钮,“modelers”功能正在获取信息并试图在日志文件中添加一行。但它不起作用!apache error.log 说

IOError: [Errno 13] Permission denied: 'media/log.txt', referer: ...

chmod 777 媒体没有帮助.. 我知道我必须以某种方式配置 apache 以让 django 写入文件,但没有找到如何:(

如果不在 apache 下它工作得很好(所以 url.py 没问题),但我需要让它与 apache 一起工作。应用程序的其他部分也可以正常工作,但是没有文件操作.. 直到现在..

4

1 回答 1

3

你试过chmod 777 media/log.txt吗?ls -l media/说吗rwxrwxrwx log.txt?如果是,则尝试指定log.txtin 的绝对路径f = open('...log.txt')

于 2011-07-28T09:46:05.783 回答