**Edit: I did blatanly miss something, which was pointed out to me on django irc#, which is that you can’t call binary data into a template. You create a view and then call the view from your template. I will leave the below for prosterity and in case it trips someone else up. It was my blonde moment.
Forgive me if I am blatantly missinged something (which is very likelyobviously), but since the unicode integration into django, I can’t seem to generate non-text images from a view, into a template ie: then django books says:
from django.http import HttpResponse
def my_image(request):
image_data = open(“/home/moneyman/public_html/media/img/main_bg.jpg”, “rb”).read()
return HttpResponse(image_data, mimetype=”image/png”)
Which works fine, but when you try and render it to a template ie:
def new(request):
image_data = open(“/home/moneyman/public_html/media/img/main_bg.jpg”, “rb”).read()
return render_to_response(‘loans/loan_reports.html’, {image_data:’image_data’}, mimetype=”image/jpeg”)
You end up with something like this:
UnicodeDecodeError at /somewhere/
‘ascii’ codec can’t decode byte 0xff in position 0: ordinal not in range(128)Request Method: GET
Request URL: http://www.somewhere.com/somewhere/
Exception Type: UnicodeDecodeError
Exception Value: ‘ascii’ codec can’t decode byte 0xff in position 0: ordinal not in range(128)
Exception Location: /home/moneyman/lib/python2.4/site-packages/django/template/context.py in __getitem__, line 38
Python Executable: /home/moneyman/bin/python
Python Version: 2.4.3Traceback (most recent call last):
File “/home/moneyman/lib/python2.4/site-packages/django/template/__init__.py” in render_node
810. result = node.render(context)
File “/home/moneyman/lib/python2.4/site-packages/django/template/__init__.py” in render
846. return self.filter_expression.resolve(context)
File “/home/moneyman/lib/python2.4/site-packages/django/template/__init__.py” in resolve
577. obj = self.var.resolve(context)
File “/home/moneyman/lib/python2.4/site-packages/django/template/__init__.py” in resolve
704. return self._resolve_lookup(context)
File “/home/moneyman/lib/python2.4/site-packages/django/template/__init__.py” in _resolve_lookup
727. current = current[bit]
File “/home/moneyman/lib/python2.4/site-packages/django/template/context.py” in __getitem__
38. if key in d:UnicodeDecodeError at /somewhere/
‘ascii’ codec can’t decode byte 0xff in position 0: ordinal not in range(128)
I don’t know if it’s me or a bug. I haven’t been able to get any decent feedback from #django IRC channel as yet
Technorati Tags: django, charts, python
Powered by ScribeFire.