Python 使用Sphinx和reStructuredText将CSS类应用于表行

Python 使用Sphinx和reStructuredText将CSS类应用于表行,python,css,python-sphinx,restructuredtext,Python,Css,Python Sphinx,Restructuredtext,我们有一个使用Sphinx和reStructuredText生成的网站。尽管不太理想(我继承了这段代码),但到目前为止,它已经起到了作用并达到了目的。我们试图稍微扩展它,其中一个请求是根据条件(只是一点上下文)更好地突出显示表中的某些行 我们注意到,如果需要应用样式的元素是for循环中的第一个元素,则该样式将应用于父()元素 这是一段似乎没有按预期工作的相关代码: {% for codelist_item in codelist_json.data %} {% if codelist_item.

我们有一个使用Sphinx和reStructuredText生成的网站。尽管不太理想(我继承了这段代码),但到目前为止,它已经起到了作用并达到了目的。我们试图稍微扩展它,其中一个请求是根据条件(只是一点上下文)更好地突出显示表中的某些行

我们注意到,如果需要应用样式的元素是for循环中的第一个元素,则该样式将应用于父(
)元素

这是一段似乎没有按预期工作的相关代码:

{% for codelist_item in codelist_json.data %}
{% if codelist_item.status == 'withdrawn' %} 
.. rst-class:: withdrawn
* - {{codelist_item.code + " (withdrawn)"}}
    {% else %}
* - {{codelist_item.code}}   
    {% endif %}
  - {{codelist_item.name}}
  ...
{% endfor %}
注意:缩进是正确的(因为它与rst文件中的内容相匹配)

非工作示例:

其HTML为:

<tbody class="withdrawn" valign="top">
  <tr class="row-even">
    <td>1 (withdrawn)</td>
    <td>IATI</td>
    <td>The budget identifier reported uses IATI budget identifier categories</td>
  </tr>

1(撤回)
国际航空运输协会
报告的预算标识符使用IATI预算标识符类别
工作示例:


拜尔(撤回)
白俄罗斯卢布
从ISO货币代码列表中撤回。使用代码BYN。
在探索斯芬克斯文档时,我偶然发现了这一点,这可能(或至少听起来)是相关的

这允许对单个列表项进行“分类”(第一项除外,因为前面的类指令适用于整个列表)

这似乎符合我们的问题,尽管就像我说的,我不完全确定它是否与之相关

到目前为止,我们尝试检查
{%forloop.first%}
,移动
rst类::
,但似乎没有任何效果。
有什么建议吗?

我会使用纯CSS和表行的名称作为选择器。有时编程解决方案太复杂了。问题是,它必须产生类似(伪代码ish)
的结果。如果表本身应用了样式,这意味着它的第一行(第n个子行)需要设置样式,这与它得到的样式一样弱
<tr class="withdrawn row-even">
  <td>BYR (withdrawn)</td>
  <td>Belarussian Ruble</td>
  <td>Withdrawn from ISO Currency codelist. Use code BYN.</td>
</tr>