【发布时间】:2018-05-22 21:47:32
【问题描述】:
刚刚学习 python、Jinja 等等,你的帮助会很大! 我的 Python 程序提取数据并将其放入列表形式。我的目标是在线显示html表格中每行数据的三个部分。我试图通过使用字符串替换和 html 语法来做到这一点。 3 变量应该位于名称、价格和数量选项卡下。结果是这样的:
以下是我创建格式的方法。我确定我渲染代码的方式与我输入的完全一致,即 html 语法,但我不确定如何输入数据以便识别 html 语法
card_list = []
card_info = "<tbody> \
<tr> \
<th scope='row'>1</th> \
<td>{0}</td> \
<td>{1}</td> \
<td>{2}</td> \
</tr> \
</tbody>".format(card_name, buy_price, quantity)
# 3 variables are one line of a list of data
card_list.append(card_info)
return card_list
在 Django view.py 中,我这样渲染列表:
from Buylist.buy import get_data
data = get_data(ixalan)
def card_data(request):
return render(request, 'buylist/basic.html', {'content':data})
而使用 Jinja 的 HtML 看起来像:
{% extends "buylist/header.html" %}
{% block content %}
<table class="table">
<thead class="thead-inverse">
<tr>
<th>#</th>
<th>Name</th>
<th>Price</th>
<th>Quantity</th>
</tr>
</thead>
# For loop getting data from card_data is here
{% for c in card_data %}
{{c}}
{% endfor %}
</table>
{% endblock %}
非常感谢任何帮助!非常感谢!
【问题讨论】:
-
默认情况下 Jinja escapes 你所有的 HTML 语法,所以它按原样显示。您可以使用
safe,但将所有 HTML 移至模板会是更好的选择。您可以将数据列表以字典的形式存储,并通过模板中的点访问它们。 -
我明白了!我会试一试并报告
标签: python html-table django-views rendering jinja2