我正在构建一个系统,该系统要从模板读取文本文件。该文本文件存储在我的静态文件夹中。在我的 app_filters 中,我具有以下功能:
from django import template
register = template.Library()
@register.filter
def print_file_content(file_name):
try:
file = open(file_name, 'r')
return file.read()
except IOError:
return ''
在我的模板上,我正在这样做:
{% load static %}
{% load app_filters %}
<div>{{ "{% static 'my_file.txt' %}" | print_file_content }}</div>
我的静态文件夹中有文件:myapp/static/my_file.txt
,但是文件读取不正确。并且该部分仍然为空。如何解决此问题?感谢您的帮助。
答案 0 :(得分:0)
您可以这样做,只需读取一个文件并将其保存在变量中,然后将该变量链接到字典中,然后使用Httpresponse或render返回即可。
def read_file(request):
f = open('path/my_file.txt', 'r')
file_content = f.read()
f.close()
context = {'file_content': file_content}
return render(request, "index.html", context) or return HttpResponse(file_content,
content_type="text/plain")
如果要将文本文件的内容传递给template.html,请将其添加到上下文变量中,然后使用{{file_content}}在模板中访问它。