2015-12-02 112 views
-1

我有一个JSON文件,它位于我的django项目文件夹之外,我想阅读它并将它用在我的django项目文件夹中的index.html中。如何读取文件并将其填充到Django的HttpResponse中?

我在某处读到我可以通过views.py(我使用CreateView作为我的index.html)传递文件,但我找不到它了。

我发现this但它没有给出任何解释。任何人都可以给我一个关键字或提示在文档中找到它或我可以谷歌,我现在有点失落?

Thanjks提前!

编辑

感谢Chathan Driehuys和thisthis我发现了如何读取一个JSON并将其加载到字典中。这里是我的设置:

import json 
class MyCreateView(CreateView): 

    def get_context_data(self, **kwargs): 
     context = super(MyCreateView, self).get_context_data(**kwargs) 

     with open('/path/to/my/JSON/file/my_json.cfg', 'r') as f: 
        myfile = json.load(f) 
        context['my_json'] = my_data 
+1

你所说的“读它在我的index.html的使用它”是什么意思?您是要尝试渲染JSON文件中的数据还是尝试读取JSON文件的内容并使用它在代码中执行其他操作? –

+0

我想使用JSON文件的内容,并用它来做我的javascript代码中的其他内容 – Tom

回答

1

我会加入一个get_context_data方法将CreateView您使用的做到这一点。在该方法中,您可以打开JSON文件并解析所需的数据,然后将其传递给您的视图。

class MyCreateView(CreateView): 

    def get_context_data(self, **kwargs): 
     context = super(MyCreateView, self).get_context_data(**kwargs) 

     with open('my_json_file', 'r') as f: 
      # parse content from your JSON file and put it in 
      # the context dictionary 
      # context['json_item'] = my_val 

     return context 

json_item那么将是一个模板可通过使用{{ json_item }}

+0

真棒谢谢,这就是我正在寻找的,现在我只需要弄清楚语法是如何工作的,谢谢你许多! – Tom

相关问题