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

标签 python django readfile

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

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。

在 View 中你可以简单地做:

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

关于python - 从 django/python 中的日志文件读取后如何保持数据格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6148629/

相关文章:

python - Django admin 上 list_display 项目的自定义值

python - django:管理站点未格式化

python - Imagekit - 删除原始图像后未删除缓存图像

PHP readfile/fgets/fread 导致对服务器的多次请求

c - 如何读取我用 C 语言创建的文本文件

python - 如何更改 eve 的 IP 地址?

python - Python中的绿色线程和线程

Python:将.txt文件读入数据框并写回文件后无法获取原始格式

python - 使用 Twisted 和 inlineCallbacks 进行测试

python - 分解两个 PySpark 数组并保留相同位置的元素