回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想要获取一个数据列表,并构建一个包含这些数据的<;div>;元素的正方形(或接近正方形)块,以便使用django在html页面中呈现。在</p>
<p>我写了一些代码来构建一个正方形(ish)元素块,并根据列表中提供的一些输入随机地给它们着色。在</p>
<pre><code>from math import sqrt, pow
import random
colour_index = {
1 : 'bg-color-primary-0',
2 : 'bg-color-primary-1',
3 : 'bg-color-primary-2',
4 : 'bg-color-primary-3',
5 : 'bg-color-primary-4',
6 : 'bg-color-secondary-0',
7 : 'bg-color-secondary-1',
8 : 'bg-color-secondary-2',
9 : 'bg-color-secondary-3',
10 : 'bg-color-tertiary-4',
11 : 'bg-color-tertiary-0',
12 : 'bg-color-tertiary-1',
13 : 'bg-color-tertiary-2',
14 : 'bg-color-tertiary-3',
15 : 'bg-color-tertiary-4'
}
width_class = {
1 : 'width100pc',
2 : 'width50pc',
3 : 'width33pc',
4 : 'width25pc',
5 : 'width20pc',
6 : 'width16pc',
7 : 'width14pc',
8 : 'width12pc',
9 : 'width11pc',
10: 'width10pc'
}
def nextSQR(anumber):
if (sqrt(anumber))==int(sqrt(anumber)):
return pow(int(sqrt(anumber)),2)
else:
return pow(int(sqrt(anumber)+1),2)
def targetshape(anumber):
return (sqrt(nextSQR(anumber)),sqrt(nextSQR(anumber)))
def divgrid(content_list):
dstring = ""
targ_shape = targetshape(len(content_list))
w = targ_shape[0]
for a in content_list:
r = random.randrange(1,10)
dstring = dstring + "<div class=\"" + colour_index.get(r) + " " + width_class.get(w) + "\">" + a + "</div>"
return dstring
</code></pre>
<p>在我的视图.py第页,我从数据库中获取元素到列表中,通过divgrid()发送该列表,并将结果传递到我的上下文中:</p>
^{pr2}$
<p>它反过来通过双courly方括号变量符号{grid}}来生成html页面</p>
<p>所有这一切都很好——除了没有看到结果在其组织的div块中格式都很好,我在页面上看到了逐字显示的html文本,如下所示:</p>
<pre><code><div class="bg-color-primary-3 width33pc">Tom Kimber</div><div class="bg-color-secondary-0 width33pc">Tom</div><div class="bg-color-secondary-1 width33pc">Tom</div><div class="bg-color-primary-1 width33pc">Tom</div><div class="bg-color-secondary-3 width33pc">Tom</div><div class="bg-color-primary-1 width33pc">Lisa</div><div class="bg-color-primary-2 width33pc">Bobby Tables</div>
</code></pre>
<p>如何让django将生成的html代码解释为代码(即将div呈现为div,从而使元素内容被适当格式化)而不是作为文本显示?在</p>