Malcolm,

Many thanks, I will go with the first option, it is not a great change 
to enable this, and I would rather not cross the line on the template side.

Rgds
Trevor

Malcolm Tredinnick wrote:

>On Sat, 2006-09-23 at 00:12 +1000, Woolley wrote:
>  
>
>>Hi,
>>
>>I was wondering how to read a sparse martrix in a django template. I can 
>>generate the matrix in the view function, but I cannot seem to get the 
>>results to come out.
>>
>>Basic assignment/ format below, not how it is really done though, but 
>>this is the effective result
>>
>>matrix[(1,0)] = 1
>>matrix[(1,1)] = 2
>>matrix[(1,2)] = 3
>>matrix[(2,0)] = 4
>>matrix[(2,1)] = 5
>>matrix[(2,2)] = 6
>>
>>How would I get the template language to understand this. It seems to 
>>tie itself in a knot when I use {{ matrix.(1,0) }}
>>
>>The follow on question to this, is can the first number be a variable, 
>>thereby cutting the template size down?
>>
>>eg {{ matrix.({{ order }},0) }}, this particular format does fail though.
>>    
>>
>
>Two possibilities I can think of:
>
>(1) Change your data structure slightly so that it is nested sequences:
>
>        matrix[1][0] = 1
>        matrix[1][1] = 2, etc
>        
>Then you can do
>
>        {% for row in matrix %}
>           {% for element in row %}
>              {{ element }}
>           {% endfor %} <br>
>        {% endfor %}
>        
>(2) Using your original data structure, we can fake iterating overs the
>first index and then the second. This is pretty evil and untested, but
>it should be close to correct. Note that this comes pretty close to
>programming in templates (in fact it completely crosses the line), so I
>would suggest the slight change in data structure, above, if at all
>possible.
>
>        {% for item in matrix.items|dictsort:"0" %}
>           {% ifchanged item.0.0 %}<br>{% endif %}
>              {{ item.1 }} <!-- This is the element content -->
>        {% endfor %}
>
>Regards,
>Malcolm
>
>
>>
>
>
>
>  
>


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to