This allows you to set up a breakpoint anywhere in your template code, by simply writing {% pdb_debug %}.
You can then access your context variables using context.get(..) at the pdb prompt. Optionally, install the ipdb package for colors, completion, and more (easy_install ipdb).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from django.template import Library, Node
register = Library()
try:
import ipdb as pdb
except ImportError:
import pdb
class PdbNode(Node):
def render(self, context):
pdb.set_trace()
return ''
@register.tag
def pdb_debug(parser, token):
return PdbNode()
|
More like this
- Browser-native date input field by kytta 1 month, 1 week ago
- Generate and render HTML Table by LLyaudet 1 month, 2 weeks ago
- My firs Snippets by GutemaG 1 month, 3 weeks ago
- FileField having auto upload_to path by junaidmgithub 2 months, 4 weeks ago
- LazyPrimaryKeyRelatedField by LLyaudet 3 months ago
Comments
This is an interesting idea. I am using pydev now, and I'm relatively new to that environment, and I am wondering if there's a similar way to hook into pydev's debugger.
#
showell: I don't know if this has changed, as I haven't used Eclipse for a couple of years, but from what I can recall all you have to do is make sure the pydev directory is in your Django application's python path. i.e., put this:
below the line:
in this snippet.
Hope this helps.
(Note, I bet it'll work with WinPdb as well)
#
Please login first before commenting.