146 | | Adds, modifies or removes attributes from the element. |
| 154 | This directive adds, modifies or removes attributes from the element. |
| 155 | |
| 156 | {{{ |
| 157 | #!xml |
| 158 | <ul xmlns:py="http://markup.edgewall.org/"> |
| 159 | <li py:attrs="foo">Bar</li> |
| 160 | </ul> |
| 161 | }}} |
| 162 | |
| 163 | Given `foo={'class': 'collapse'}` in the template context, this would produce: |
| 164 | |
| 165 | {{{ |
| 166 | #!xml |
| 167 | <ul> |
| 168 | <li class="collapse">Bar</li> |
| 169 | </ul> |
| 170 | }}} |
| 171 | |
| 172 | This directive can only be used as an attribute. |
| 182 | The element is repeated for every item in an iterable: |
| 183 | |
| 184 | {{{ |
| 185 | #!xml |
| 186 | <ul xmlns:py="http://markup.edgewall.org/"> |
| 187 | <li py:for="item in items">${item}</li> |
| 188 | </ul> |
| 189 | }}} |
| 190 | |
| 191 | Given `items=[1, 2, 3]` in the context data, this would produce: |
| 192 | |
| 193 | {{{ |
| 194 | #!xml |
| 195 | <ul> |
| 196 | <li>1</li><li>2</li><li>3</li> |
| 197 | </ul> |
| 198 | }}} |
| 199 | |
| 200 | This directive can also be used as an element: |
| 201 | |
| 202 | {{{ |
| 203 | #!xml |
| 204 | <ul xmlns:py="http://markup.edgewall.org/"> |
| 205 | <py:for each="item in items"> |
| 206 | <li>${item}</li> |
| 207 | </py:for> |
| 208 | </ul> |
| 209 | }}} |
| 210 | |