如何在django / python中读取日志文件后保持数据格式化

我使用此代码从日志文件中读取数据并在浏览器中显示,但其格式很难阅读,因为没有换行符,所有文本文件都出现在单个段落中.

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并提供下载完整文件的链接.

上一篇:PHP强制下载.xlsx文件损坏


下一篇:如何使用python将pdf文件打印到stdout?