我使用此代码从日志文件中读取数据并在浏览器中显示,但其格式很难阅读,因为没有换行符,所有文本文件都出现在单个段落中.
data_file = open('/var/log/secure', 'r')
data = data_file.readlines()
variables = RequestContext(request, {
'data1': data,
'var2': 'test'
})
return render_to_response('logfiles.html', variables)
模板
{% block content %}
{{ data1 }}
{% endblock %}
有没有办法保持数据与原始文件相同?
解决方法:
使用< pre>< / pre>输出周围的标签.
{% block content %}
<pre>{{ data1 }}</pre>
{% block content %}
此外,data_file.readlines()返回一个列表…尝试使用data_file.read(),并注意大文件 – 您可以使用此代码快速调整RAM.
在视图中,您可以做到:
data_file = open('/var/log/secure', 'r')
variables = RequestContext(request, {
'data_file': data_file,
'var2': 'test'
})
return render_to_response('logfiles.html', variables)
在模板上:
{% block content %}
<pre>{{ data_file.read }}</pre>
{% endblock %}
请注意,这不能解决暂停服务器或客户端的大文件的问题,在现实世界中,您可能希望将显示限制为几MB并提供下载完整文件的链接.