2011-07-28 35 views
1

因此,我有以下问题: 上ivent一个javascript发送一些文字Django的服务器,并有一些应该工作了两个功能: views.py:的Django +阿帕奇 - file.open()被拒绝的权限

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() 

因此,用户点击一个按钮,“模拟器”功能正在获取信息,并试图将一行添加到日志文件。但它不起作用! 的apache的error.log中说,

IO错误:[错误13]许可被拒绝: '媒体/ log.txt的',引用者:...

搭配chmod 777级的媒体并没有帮助。我知道,我必须配置Apache以某种方式让django写文件,但没有找到如何:(

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

回答

1

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

+0

绝对路径做的工作..谢谢!我已经尝试了很多东西,但没有想到会导致error.log没有说它找不到该文件..非常感谢!)) – v100ev