如何从Django视图函数中读取文本文件?

时间:2018-03-10 08:51:40

标签: python django

我的一个视图函数中有以下代码:

def results(request):
    data_file = open('data.txt', 'r')       
    data = data_file.read()
    context = {'rooms': data}
    return render(request, 'javascript/results.html',context)

文件' data.txt'与我的" views.py"。

位于同一文件夹中

然而,我得到" FileNotFoundError at / results"错误。

我的' results.html'看起来像这样:

<p> {{ rooms }}</p>

将数据从文本文件传递到Django视图函数,然后在模板中显示数据的正确方法是什么?我应该使用静态文件吗?

1 个答案:

答案 0 :(得分:0)

尝试提供文本文件的完整路径。

<强> EX:

import os

def results(request):
    module_dir = os.path.dirname(__file__)  
    file_path = os.path.join(module_dir, 'data.txt')   #full path to text.
    data_file = open(file_path , 'r')       
    data = data_file.read()
    context = {'rooms': data}
    return render(request, 'javascript/results.html',context)