Django app无法在同一目录中找到json文件

时间:2017-06-20 08:09:06

标签: django python-2.7 django-templates django-views

我的json文件位于view.py文件的同一目录中。 但是,当我在浏览器中打开html时,会发生IO错误。 当我通过pycharm运行view.py时,它工作正常。 JSon文件是数据库配置文件。我希望显示数据库中的一些数据,在这种情况下我需要先连接数据库。

2 个答案:

答案 0 :(得分:2)

根据所提供的信息,很难给出一个好的答案。 然而,我认为,你通过实际运行views.py而不是使用runserver命令在PyCharm中运行你的视图?在这种情况下,执行目录是应用程序的文件夹,可以解析JSON文件的相对路径。

只要您运行开发或真实服务器并使用其URL访问浏览器中的视图,执行目录就是manage.py文件(项目的根文件夹)的概念。如果您只是访问JSON文件的名称,则无法找到它,因为您在错误的文件夹中搜索它。

你在使用JSON文件是为了什么?如果它也应该在web borwser中可用(作为例如JavaScript的资源),那么您可能希望将其放入应用程序或项目的静态文件夹中(记得运行manage.py collectstatic)。在这种情况下,STATIC_ROOT将在settings.py中定义,您可以从那里解析路径(使用os.path.join(STATIC_ROOT, "path to json file")

答案 1 :(得分:0)

如果您需要通过浏览器查看JSON文件,则需要将其放在静态文件夹中。