是否可以访问views.py中的静态文件?

时间:2013-08-13 11:58:58

标签: python django

我可以通过直接网址(localhost:8000/static/maps/foo.txt)访问相关的静态文件,所以我想我一切都运行良好。但我无法执行以下操作:我想在views.py中打开该文本文件。这是因为我正在开发一个简单的网页浏览器冒险游戏,我想在静态/地图中存储地图,并使用f=open('/static/maps/' + mapname + '.txt', 'r')加载这些地图。我得到了IOError: no such file or directory。我真的不明白,因为当我在地址中搜索时,这样的目录。

能以某种方式完成吗?

1 个答案:

答案 0 :(得分:0)

您需要使用它们存储在磁盘上的位置,该位置可能位于settings.STATIC_ROOTsettings.STATICFILES_DIRS,而不是Web应用程序所在的位置。

但请注意,如果以编程方式修改这些文件,则它们(根据定义)不是静态文件。您最好使用MEDIA_ROOT位置。另请注意,Django有助手来执行此类操作 - 请参阅Managing files上的文档。