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
- Template tag - list punctuation for a list of items by shapiromatron 9 months, 3 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months ago
- Serializer factory with Django Rest Framework by julio 1 year, 4 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 5 months ago
- Help text hyperlinks by sa2812 1 year, 6 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.