2 回答

TA貢獻2080條經(jīng)驗 獲得超4個贊
我找到了一個有效的答案,并表明它與 djnago 使用的字符串格式有關(guān)。我使用了 slugify 過濾器,它將字符串轉(zhuǎn)換為特定格式(小寫、破折號而不是空格),然后更改我的 if 條件以匹配該格式,并且它起作用了。
{% for idea in ideas_list %}
...
<td>{{idea.priority}} </td>
<td>{{idea.difficulty}} </td>
{% if idea.status|slugify == 'not-started' %}
<td style="background-color:red;">
{% elif idea.status|slugify == 'completed' %}
<td style="background-color:green;">
{% elif idea.status|slugify == 'in-progress' %}
<td style="background-color:yellow;">
{% else %}
<td>
{% endif %}
{{idea.status}} </td>
...
{% endfor %}
您可以在此處查看 django 如何使用 slugify 格式化字符串: https://docs.djangoproject.com/en/1.10/ref/templates/builtins/

TA貢獻1775條經(jīng)驗 獲得超11個贊
您的模板部分是正確的。這是正確的語法:
{%?if?idea.status?==?'Not?Started'?%}
記錄數(shù)據(jù)
調(diào)試模板中的內(nèi)容的最簡單方法是在渲染模板之前記錄您所擁有的內(nèi)容。您可以使用日志記錄模塊Docs或簡單的:
print(payload_for_rendering)
Django 調(diào)試工具欄
為每個 Django 開發(fā)人員安裝主要調(diào)試工具 -?Django 調(diào)試工具欄安裝文檔。您可以使用工具欄中的“模板”模塊在漂亮的用戶界面中查看模板收到的數(shù)據(jù)。您可以檢查是否向模板渲染發(fā)送了正確的數(shù)據(jù)。
添加回答
舉報