簡體   English   中英

Django部署的應用程序/項目無法寫入文件

[英]Django deployed app/project can't write to a file

我正在使用基於Django的應用程序,該應用程序在磁盤上的位置為home/user/Documents/project/application 現在,這個應用程序需要從用戶一些值,並將其寫入到file位於在folder這是在project目錄即home/user/Documents/project/folder/file 使用python manage.py runserver命令運行開發服務器時,一切正常,但是在部署之后,通過open('folder/path','w')訪問fileapplication/views.py無法再訪問它,因為默認情況下,當使用mod_wsgi通過apache2服務器進行部署時,它會在var/www文件夾中查找。

現在,我不會將folder放入/var/www因為在其中放置任何python代碼不是一個好習慣,因為它可能會變成可讀的客戶端,這是一個主要的安全威脅。 請讓我知道,我如何指向已部署的應用程序以讀取和寫入正確的文件。

真正的解決方案是將數據文件安裝在/srv/data/myapp或類似文件中,以便您可以僅向Web服務器用戶授予對這些目錄的正確權限。 是否選擇將代碼放在/var/www是一個單獨的問題,但是我建議至少將wsgi文件放在其中(當然,正確地指定<DocumentRoot..>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM