我有这个简单的功能。
@app.route('/save')
def save():
with open("hello.txt", 'w') as file:
file.write("hello")
file.close()
return "done"
但是当我访问www.example.com/save
路由时,服务器返回500内部服务器错误,并且不写入文件。我应该为驻留在Flask
的{{1}}应用设置哪种权限,以便应用可以在目录中写入文件?
错误说明:/var/www/
答案 0 :(得分:2)
您必须确保python进程用户(在本例中为Flask应用程序服务器)对您要保存文件的目录具有写访问权限。例如,如果要将文件保存到/ var / www目录中,请确保python进程用户具有正确的访问权限。
ls -al /var/www
sudo chown flask-user /var/www
此外,在Flask路径中,您应该指向保存目录位置,而不是将文件保存到进程工作目录中(这就是您的情况)。像这样的东西可以正常工作:
@app.route('/save')
def save():
with open("/var/www/hello.txt", 'w') as file:
file.write("hello")
file.close()
return "done"
注意:您应该选择一些其他目录,但/ var / www用于存储文件的位置。