Django应用程序无法在同一目录中找到json文件

问题描述:

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

+1

复制粘贴代码以从您的view.py文件中读取json文件 – anuragal

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

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

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

+0

非常感谢,我认为你解决了我的问题。当我将json文件放在manage.py的目录中时,浏览器可以找到json文件。但是当我把它放在应用程序的目录下时,会发生IO错误。非常感谢您的明确回答 –

+0

我很高兴工作@SparrowJack。 如果您的问题最终得到解决,如果您可以将我的答案标记为解决方案,那就太好了。 – ingofreyer

+0

我很高兴工作@SparrowJack。 如果您的问题最终得到解决,如果您可以将我的答案标记为解决方案,那就太好了。 – ingofreyer

如果你需要通过浏览器看到JSON文件,你需要把它放在静态文件夹中。