• Preston Timmons's avatar
    Cleaned up the template debug implementation. · 55f12f87
    Preston Timmons yazdı
    This patch does three major things:
    
    * Merges the django.template.debug implementation into django.template.base.
    
    * Simplifies the debug implementation.
    
      The old implementation copied debug information to every token and node.
      The django_template_source attribute was set in multiple places, some
      quite hacky, like django.template.defaulttags.ForNode.
    
      Debug information is now annotated in two high-level places:
    
      * Template.compile_nodelist for errors during parsing
      * Node.render_annotated for errors during rendering
    
      These were chosen because they have access to the template and context
      as well as to all exceptions that happen during either the parse or
      render phase.
    
    * Moves the contextual line traceback information creation from
      django.views.debug into django.template.base.Template. The debug views now
      only deal with the presentation of the debug information.
    55f12f87
tests.py 4.47 KB