我想在Google appengine(我正在使用django-nonrel)上启动项目时,根据.csv文件的信息(称之为info.csv)向我的模型添加对象。
我的方法是在myapp中编写一个专用的util.py,在view.py
中调用。 util.py
应该读取info.csv
并在数据库中启动对象。
但是,它会导致"No such file or directory: ...
“错误。将文件放入myapp/static folder
会导致其他问题。
我该如何解决这个问题?是否有更聪明的方法来解决这个问题?非常感谢!
答案 0 :(得分:4)
为了提高效率,App Engine会分别存储和提供静态文件 从应用程序文件。 静态文件不可用 应用程序的文件系统。如果您有需要读取的数据文件 通过应用程序代码,数据文件必须是应用程序文件,并且 不得与静态文件模式匹配。
参考here
要访问您的文件,请将其保存在脚本的同一目录中,并通过以下内容进行访问:
file_path = os.path.join(os.path.dirname(__file__), 'info.csv')
your_file = open(file_path)
答案 1 :(得分:0)
我也看过并使用过这种设计模式:
在config.py中:
INFO: [a,b,c] #or whatever would otherwise go in info.csv
在views.py中:
import config
your_data = config.INFO