Re: dynamically creating html code with python...
anartz at anartz.cjb.net
anartz at anartz.cjb.net
Mon Aug 11 18:03:02 EDT 2008
btw, credits for the code shown below also for:
http://bitworking.org/news/Sparklines_in_data_URIs_in_Python
Anartz at anartz.cjb.net wrote :
> This makes sense. Thanks!
>
> I managed to get what I wanted with something similar to what you suggested:
>
> [CODE]
> print "Content-Type: text/html\n\n"
> html="""
> <html>
> <head>
> <title>
> data analysis site
> </title>
> </head>
> <body>
> <p>This is a test</p>
> <IMG SRC="%s" />
> <p>After image text</p>
> </body>
> </html>"""
>
> print html % myChartsLib.myPlotType(TheData)
> [/CODE]
>
> and the script returns
>
> [CODE]
> f = StringIO.StringIO()
> pylab.savefig(f)
> return 'data:image/png,' + urllib.quote(f.getvalue())
> [/CODE]
>
> This works fine in Firefox, but not in IE7. Any ideas why?
>
> BTW, you are right about me not having a clue about http. It's the first time I try to do something with it. May be you could point me out to some good links where I can learn.
>
> I will take a look into Mako too.
>
> Thanks again.
>
> Bruno Desthuilliers <bdesth.quelquechose at free.quelquepart.fr> wrote :
>
> > anartz at anartz.cjb.net a écrit :
> > > Sorry, my fault...
> > >
> > > I am trying to build a web application for data analysis. Basically
> > > some data will be read from a database and passed to a python script
> > > (myLibs.py) to build an image as follows.
> > >
> > > [CODE]
> > > f=urllib.urlopen("http://localhost/path2Libs/myLibs.py",urllib.urlencode(TheData))
> > > print "Content-type: image/png\n"
> > > print f.read()
> > > f.close()
> > > [/CODE]
> > >
> > > This section behaves as expected, and I can see the chart on the
> > > web-page.
> >
> > Indeed. Using an http request to call a local script is totally
> > braindead, but this is another problem.
> >
> > > Now, I would like to add some text and possibly more charts
> > > (generated in the same way) to my web-page.
> >
> > Which one ? What you showed is a way to generate an image resource (with
> > mime-type 'image/png'), not an html page resource (mime-type :
> > text/html). Images resources are not directly embedded in html pages -
> > they are *referenced* from web pages (using an <img> tag), then it's up
> > to the user-agent (usually, the browser) to emit another http request to
> > get the image.
> >
> >
> > > This is what I need help
> > > with.
> >
> > Not tested (obviously), but what you want is something like:
> >
> > print "Content-type: text/html\n"
> > print """
> > <html>
> > <head>
> > <title>data analysis site</title>
> > </head>
> > <body>
> > <p>This is a trial test</p>
> > <img src="http://localhost/myLibs/ChartLib.py?%s" />
> > </body>
> > </html>
> > """ % urllib.urlencode(TheData)
> >
> >
> > > My question: How can I use python to dynamically add descriptive
> > > comments (text), and possibly more charts to the web-page?
> >
> > The code you showed so far either tried to add text/html to an image
> > (that is, binary data), or to embed the image's binary data into
> > text/html. None of this makes sense. Period. The problem is not with
> > Python. The problem is that you can't seriously hope to do web
> > programming without any knowledge of the http protocol.
> >
> > Also and FWIW, you'd be better using a decent templating system (mako,
> > cheetah, genshi, tal, whatever fits your brain) instead of generating
> > html that way.
> > --
> > http://mail.python.org/mailman/listinfo/python-list
>
>
>
> --
> http://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list