Eugene Morozov <[EMAIL PROTECTED]> writes:
> On 11 май, 13:23, Nic James Ferrier <[EMAIL PROTECTED]>
> wrote:
>> def user_alerts(request, user_name):
>> me = get_object_or_404(User, username=user_name)
>> alerts = Alert.objects.filter(user=me, seen=False)
>> return tfxslt.send_json(HttpResponse(),
>> { "div":
>> [ { "abbr":
>> { "@title": alert.created,
>> "span": alert.message }} for alert in
>> alerts]},
>> xslt="user_alerts")
>>
>
> Sorry, I don't get the point. I think that XSLT is a way to separate
> presentation from data. But your json looks like some kind of HTML. I
> don't understand how this is better than existing Django templates.
It has several advantages:
- there is proper separation between data and style, my JSON doesn't
include any stylistic information, only stuff that describes the data
- the JSON template *is* python, you can pretty much do anything with
it: you can separate bits of the rendering with different methods,
you can test it outside of Django, you can pass it around and
process it with Python quite naturally.
- you get JSON output if you want it, direct from your view
- you get to use XSLT to turn the JSON into anything you want... you
need Atom from a resource as well as HTML? Just have 2 different
stylesheets but the same JSON.
The way I tend to use the templates is to output POSH (Plain Old
Semantic HTML) like JSON which will be transformed by XSLT into
display HTML/XHTML but you don't have to do it that way... the JSON
could be any old thing.
I find it simpler to use POSH because I can mock up the POSH outside
of a programming language. I can even get designers to template the
POSH which they will then transform with XSLT.
> I know and use XSLT but usually for converting between different XML
> formats.
XSLT works very well as a dynamic transformation language. It is very
fast indeed and you can do so much with it. I don't understand why
anyone would want to use these hobbled little template languages
inside things like Django and Rails.
--
Nic Ferrier
http://www.tapsellferrier.co.uk
--~--~---------~--~----~------------~-------~--~----~
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?hl=en
-~----------~----~----~----~------~----~------~--~---