我正在开发一个基于Django的应用程序,它在我的磁盘上的位置是home/user/Documents/project/application
。现在,此应用程序从用户处获取一些值,并将其写入位于file
目录下folder
下project
的{{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代码放在那里并不是一个好习惯,因为它可能成为可读客户端,这是一个主要的安全威胁。请告诉我,如何指示已部署的应用程序读取和写入正确的文件。
答案 0 :(得分:0)
真正的解决方案是在/srv/data/myapp
或其他类似文件中安装您的数据文件,这样您就可以仅为这些目录授予Web服务器用户正确的权限。您是否选择将代码放在/var/www
中是一个单独的问题,但我建议至少将您的wsgi文件放在那里(当然,正确指定您的<DocumentRoot..>
。