I often insert pdb.set_trace()
in my test cases to debug and examine behavior. When tests fail with assertions like assertContains(response, 'Some text')
, it would be useful to see the response's contents in a browser window. This snippet does just that. Simply put this code in a python script on your PYTHONPATH
and import/call the function when the debugger starts.
Only tested on Ubuntu and you might want to change URL_OPENER
to whatever you want to open the URLs. Simple, but hopefully useful.
1 2 3 4 5 6 7 8 9 10 11 12 | import os, tempfile, subprocess
URL_OPENER = 'xdg-open'
def open_response_content(response):
""" Saves a response's content to a temporary file and opens it in a
browser. """
temp_file = tempfile.NamedTemporaryFile(delete=False)
temp_file.write(response.content)
dev_null = open(os.devnull, 'w')
kwargs = {'stdout': dev_null, 'stderr': dev_null}
subprocess.Popen([URL_OPENER, temp_file.name], **kwargs)
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
- Help text hyperlinks by sa2812 1 year, 7 months ago
Comments
Please login first before commenting.