0

我用 django 创建了一份问卷,在我的 views.py 中有以下代码作为函数的一部分

 if text is not None:
    for answer in datas:
        f=open('/Users/arsenios/Desktop/data.txt', 'a')
        f.write(answer+",")
    f.write("\n")
    f.close()

这在本地运行良好。它在桌面上创建一个文本文件夹,并用完成它的每个人的数据填充它。当我使用 openshift 运行代码时,我得到:
“[Errno 2] 没有这样的文件或目录:'/Users/arsenios/Desktop/data.txt'”。

我看到有些人问并提到“OPENSHIFT_DATA_DIR”,但我觉得他们没有包括一些步骤。我不知道应该对settings.py 和views.py 做哪些更改。

任何帮助,将不胜感激。

4

2 回答 2

0

我设法解决了它。事实证明,数据被保存在 openshift 的 data.txt 中,而我必须使用的命令是oc rsync pod:/opt/app-root/src/data.txt /path/to/directory. 此命令将 data.txt 文件从 openshift 下载到我想要的目录。所以就我而言,我不得不使用oc rsync save-4-tb2dm:/opt/app-root/src/data.txt /Users/arsenios/Desktop

于 2018-08-08T15:10:13.767 回答
0

来自OPENSHIFT_DATA_DIROpenShift 2,未在 OpenShift 3 中设置。

更大的问题是它是临时文件还是需要在应用程序容器重新启动时保持不变。如果是临时文件,请使用/tmp目录下的名称。如果它需要持久化,那么您需要考虑安装一个持久化卷来保存数据,或者考虑使用具有自己持久性存储的单独数据库。

有关使用 OpenShift 3 的一些基础知识的解释,建议您查看免费电子书:

于 2018-07-31T22:21:50.667 回答