Django部署的app / project无法写入文件

时间:2016-03-10 17:39:05

标签: python django apache apache2.4

我正在开发一个基于Django的应用程序,它在我的磁盘上的位置是home/user/Documents/project/application。现在,此应用程序从用户处获取一些值,并将其写入位于file目录下folderproject的{​​{1}} home/user/Documents/project/folder/file。使用命令python manage.py runserver运行开发服务器时,一切正常,但在部署后,通过application/views.py访问file的{​​{1}}无法再访问它,因为默认情况下,当使用open('folder/path','w')通过var/www服务器部署时,它会在apache2文件夹中查找。

现在,我没有将mod_wsgi放入folder,因为将任何python代码放在​​那里并不是一个好习惯,因为它可能成为可读客户端,这是一个主要的安全威胁。请告诉我,如何指示已部署的应用程序读取和写入正确的文件。

1 个答案:

答案 0 :(得分:0)

真正的解决方案是在/srv/data/myapp或其他类似文件中安装您的数据文件,这样您就可以仅为这些目录授予Web服务器用户正确的权限。您是否选择将代码放在/var/www中是一个单独的问题,但我建议至少将您的wsgi文件放在那里(当然,正确指定您的<DocumentRoot..>