Hi Folks,
I have only been using Python since the weekend, and Django since
Tuesday so I'm quite new to the API, and I've hit a snag with what I'm
trying to do. I'm currently working on porting over my CakePHP
application which used the GeSHi library for syntax highlighting and I
came across Pygments as the Python alternative. What I am trying to
do is take a paste from the database which is stored as plain text and
display it highlighted.
So far, here is my view:
from django.shortcuts import render_to_response, get_object_or_404
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from pastemonkey2.pastes.models import Paste, Language
from pygments import highlight
from pygments.lexers import get_lexer_by_name
from pygments.formatters import HtmlFormatter
def highlight(source, language):
lexer = get_lexer_by_name(language, stripall=True)
formatter = HtmlFormatter(linenos=True, cssclass="source")
result = (source, lexer, formatter)
return result
def show_paste(request, object_id):
p = get_object_or_404(Paste, pk=object_id)
p.formatted = highlight(str(p.paste), str(p.language))
return render_to_response('pastes/paste_detail.html', {'object': p})
What I am trying to do in show_paste is when the paste is received
from the database, I pass the paste and language from the model into
the highlight function, which should generate the marked up code and
pass back, creating a new p.formatted object, which I display in my
template. However, what I get back is this:
("from django.conf.urls.defaults import *\r\nfrom
pastemonkey2.pastes.models import Paste, Language\r\nfrom
pastemonkey2.pastes.views import *\r\n\r\ninfo_dict = {\r\n
'queryset': Paste.objects.all(),\r\n}\r\n\r\nurlpatterns =
patterns('',\r\n (r'^$',
'django.views.generic.list_detail.object_list', info_dict),\r\n
(r'^(?P<object_id>\\d+)/$',
'pastemonkey2.pastes.views.show_paste'),\r\n)",
<pygments.lexers.PythonLexer with {'stripall': True}>,
<pygments.formatters.html.HtmlFormatter object at 0x88ca1ec>)
Instead of nice marked up code. I'm wondering if anyone can suggest
where I am going wrong?
Thanks
Tane Piper
Blog - http://digitalspaghetti.me.uk
AJAX Pastebin - http://pastemonkey.org
This email is: [ ] blogable [ x ] ask first [ ] private
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---