簡體   English   中英

從Django中的視圖在HTML頁面上顯示列表

[英]Displaying list on HTML page from view in Django

我的views.py中有一個列表,該列表通過render函數發送到HTML頁面,並在該頁面上打印出來。 問題是,雖然我發送的所有其他列表都打印在HTML頁面上,但是我要發送的這兩個列表卻沒有。

app / views.py

alttrue = []
altfalse = []
alttrue, altfalse = altCheck(soup)
results = { 'alttrue' : alttrue,
            'altfalse' : altfalse,
          }
render(context,'app/result.html', results)

現在altCheck是一個函數,它返回兩個列表,其中至少有一個具有值,這是肯定的。 在我的result.html中,

results.html

<h5>Alt pass results</h5>
{% for tag in alttrue %}
<p>{{ tag }}</p>
{% endfor %}
<h5>Alt fail results</h5>
{% for tag in altfalse %}
<p>{{ tag }} </p>
{% endfor %}

問題是在列表中運行一個for循環並嘗試打印它會返回一個空列表([])。 但是,如果我嘗試這樣打印

<p>{{ alttrue }}</p>
<p>{{ altfalse }}</p>

工作正常。 它打印列表。 只是,迭代列表並打印出變量不起作用。

這是怎么回事:

alttrue = []
altfalse = []
alttrue, altfalse = altCheck(soup)
results = { 'alttrue' : altpass,
            'altfalse' : altfail,
          }
render(context,'app/result.html', results)

在結果dict中,下引號(key)中的變量假定為上下文變量的名稱。 如下所示

alttrue = []
altfalse = []
alttrue, altfalse = altCheck(soup)
results = { 'altpass' : alttrue ,
            'altfail' : altfalse ,
          }
render(context,'app/result.html', results)

template.html

{% for x in altpass %}
{{x}}
{% endfor %}

{% for x in altfail %}
{{x}}
{% endfor %}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM