I am working on a Django based application whose location on my disk is home/user/Documents/project/application
. Now this application takes in some values from the user and writes them into a file
located in a folder
which is under the project
directory ie home/user/Documents/project/folder/file
. While running the development server using the command python manage.py runserver
everything worked fine, however after deployment the application/views.py
which accesses the file
via open('folder/path','w')
is not able to access it anymore, because by default it looks in var/www
folder when deployed via apache2
server using mod_wsgi
.
Now, I am not putting the folder
into /var/www
because it is not a good practise to put any python code there as it might become readable clients which is a major security threat. Please let me know, how can I point the deployed application to read and write to correct file.
The real solution is to install your data files in /srv/data/myapp
or some such so that you can give the webserver user correct permissions to only those directories. Whether you choose to put your code in /var/www
or not, is a separate question, but I would suggest putting at least your wsgi file there (and, of course, specifying your <DocumentRoot..>
correctly.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.