Python Django部署的项目文件写入权限和路径
正如《我已经在Python Django部署的项目文件写入权限和路径,python,django,apache,Python,Django,Apache,正如《我已经在/home/user/Documents/project位置创建了一个Django项目》的标题中所述,该代码应该存在于何处?目录结构如下所述: project/ manage.py project/ __init__.py settings.py urls.py wsgi.py app/ __init__.py views.py other/ 在view
/home/user/Documents/project
位置创建了一个Django项目》的标题中所述,该代码应该存在于何处?
目录结构如下所述:
project/
manage.py
project/
__init__.py
settings.py
urls.py
wsgi.py
app/
__init__.py
views.py
other/
在views.index
中,我有一个打开的调用,它打开other
文件夹下的文件,并在其中写入一些数据,然后进一步处理它。open调用基于相对路径,即open('other/file','w')
,因为默认情况下,Django开发服务器从project/
目录运行,并从那里开始查找相对路径
现在,一旦我使用
mod_wsgi
将它部署到apache2
上,我可以在/var/log/apache2/error.log
文件中看到open
调用失败,因为它找不到文件路径。请指导我如何解决这个问题。谢谢。你能分享你在apache2.conf
file@GIRISHRAMNANI尝试使用设置模块中的base_dir:从设置导入base_dir
,现在您可以打开(os.path.join(base_dir,'other/file'))
@Ali,这会给我一个权限被拒绝的错误IOError:[Errno 13]权限被拒绝:“/home/user/Documents/project/other/file”
,可能是因为服务器没有在那里写入的权限,对吗?没错,现在设置适当的权限,您就可以开始了。