#23356: Unable to create template tag which behaves similar to {% verbatim %}
---------------------------------+----------------------
     Reporter:  jrief            |      Owner:  nobody
         Type:  Uncategorized    |     Status:  new
    Component:  Template system  |    Version:  master
     Severity:  Normal           |   Keywords:  verbatim
 Triage Stage:  Unreviewed       |  Has patch:  1
Easy pickings:  0                |      UI/UX:  0
---------------------------------+----------------------
 Currently it is impossible to create custom template tags which behave
 similar to {{{ {% verbatim %} }}}.
 The reason is in {{{Lexer.create_token()}}}. There, the class member
 {{{self.verbatim}}} is set for template blocks in "verbatim" state. It is
 impossible to turn on that state from outside, ie. a template tag.

 Fixing this, would be as simple as changing {{{if block_content[:9] in
 ('verbatim', 'verbatim ')}}} to {{{if
 block_content.startswith('verbatim')}}} or to {{{if block_content[:9] in
 ('verbatim', 'verbatim ', 'verbatim_')}}}.
 Then all template tags beginning with verbatim..., would start in
 "verbatim" state. I don't assume this will break any existing code; who
 starts the name of a templatetag with 'verbatim...' if not for that
 purpose?

 Background information why this is useful:
 Templates syntax for Django and AngularJS is very similar, and with some
 caveats it is possible to reuse a Django template for rendering in
 AngularJS. I therefore attempted to add a context sensitive variation of
 the verbatim tag to this app https://github.com/jrief/django-angular, but
 was hindered by this issue.

 BTW: This part of the Django code did not change from 1.6 up to master.

-- 
Ticket URL: <https://code.djangoproject.com/ticket/23356>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/048.d176da888852a12e6d312d8b3ba27bf7%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to