<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    海上月明

    editer by sun
    posts - 162, comments - 51, trackbacks - 0, articles - 8
       :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理

    將chartdirector創建的image嵌入網頁的兩種方法

    Posted on 2009-06-15 14:03 pts 閱讀(972) 評論(0)  編輯  收藏 所屬分類: Python
    這里詳細說明了在網頁中嵌入chartdirector元素的兩種方法

    Django integration
    Posted by GMalla on Mar-02-2008 23:28
    Hi,
      I'm using Django framework for my web application. How do i integrate chart director with Django custom views. In Django views define context and the context is passed to a html template. Html template creates output html file. My question is how to I pass a parameter to <IMG SRC="/home/simplebar.py"> . Because in Django the URLs do not end with .py extension. This again need to be mapped to a view function. I'm bit confuse.
    Please help.

    Thanks
    GMalla

      Re: Django integration
    Posted by Peter Kwan on Mar-03-2008 13:31
    Hi GMalla,

    I have never used Django before. However, I have seen many frameworks, so I may provide some general ideas.

    There are two methods to output a chart in a web page.

    (1) Create the chart as an image file, then output the image file. For example, if you are using the sample code in "pythondemo/simplebar.py" (*not* the CGI one), it is creating the chart as a file "simplebar.png". So after crreating the chart, in your <IMG> tag, you may use <IMG SRC="/path/to/simplebar.png">.

    If you use this method, the followings are several important things to note:

    - To avoid confusion, you should use the full path name, not a relative path name. Some web frameworks will use some strange directory as the "current working directory", and your relative path name may end up relative to some strange place.

    - Please be aware the path in the "makeChart" call is a file system path name, not a URL path. For example, "/aaa,png" means storing "aaa.png" in the root of the hard disk, not the root of your web directory. (Of course, the <IMG> tag path is a URL, as per HTML standard.)

    - Make sure your web server has read and write access to the directory. By default, the web server, usually running as the anonymous user, may not write to the hard disk. For testing, you may want to set the directory to be readable and writable to anyone.

    - The sample code uses a hard coded file name "simplebar.png". For a web server, you may want to use a unique file name, otherwise two users accessing the server at the same time will overwrite each other's files. The BaseChart.makeTmpFile method in ChartDirector may be useful for this purpose.


    (2) Another method is to create the chart as an image in memory, then stream the image to the browser. Most well-developed web framework supports streaming of non-HTML content, such as images, movies, etc.. In the "pythondemo_cgi/simplebar.py" sample code, the following method is used to stream the content to the browser:

    print "Content-type: image/png\n"
    binaryPrint(c.makeChart2(PNG))

    For your Django framework, you may need to read the Django documentation, or post questions to Django support or Django forum to ask if Django can stream non-HTML content. If it can, then you may replace the above two lines with the Django streaming code. In this case, the <IMG> tag is <IMG SRC="/path/to/yourDjangoCode.xxx"> where yourDjangoCode.xxx is the Django code that creates the chart and streams it to the browser.

    If Django does not support non-HTML content, then you must use method (1) above.


    Hope this can help.

    Regards
    Peter Kwan

      Re: Django integration
    Posted by Adrian on Mar-24-2008 09:28
    A quick Django integration:

    1) Add your URL pattern:
    url(r'^test.png$', views.test, name='url_chart_test'),

    2) create your view function:

    from django.http import *
    from pychartdir import *

    def test(request):
        data = [85, 156, 179.5, 211, 123]
        labels = ["Mon", "Tue", "Wed", "Thu", "Fri"]
        c = XYChart(250, 250)
        c.setPlotArea(30, 20, 200, 200)
        c.addBarLayer(data)
        c.addBarLayer(data)

        response = HttpResponse( mimetype='image/png')
        response.write(c.makeChart2(PNG))

        return response

    3) in your html page, add a link to this "image"
    <img src="/whatever/test.png">


    主站蜘蛛池模板: xxxxx做受大片视频免费| 亚洲日本久久一区二区va| 看Aⅴ免费毛片手机播放| 德国女人一级毛片免费| 亚洲中文字幕无码久久2020| 亚洲乱妇老熟女爽到高潮的片| 麻豆一区二区免费播放网站| 亚洲伊人久久精品| h片在线观看免费| 亚洲综合色在线观看亚洲| 亚洲精品亚洲人成在线观看麻豆| 久久er国产精品免费观看2| 亚洲无线码一区二区三区| 国产精品免费久久久久电影网| 亚洲精品色午夜无码专区日韩| 亚洲伦理中文字幕| a毛片免费播放全部完整| 女人让男人免费桶爽30分钟| 亚洲日本VA中文字幕久久道具| 国产午夜成人免费看片无遮挡| 亚洲免费观看视频| 中文字幕免费在线| 最新精品亚洲成a人在线观看| 亚洲五月丁香综合视频| 成年18网站免费视频网站| 美女黄色免费网站| 久久久久久国产精品免费免费| 亚洲产国偷V产偷V自拍色戒| 色欲色香天天天综合网站免费| 亚洲va乱码一区二区三区| 国产无遮挡又黄又爽免费视频 | 污视频网站免费观看| 中文字幕亚洲无线码a| 国产产在线精品亚洲AAVV| 老司机在线免费视频| 久久精品国产亚洲AV香蕉| 久久久久免费看黄A片APP | 亚洲综合一区无码精品| 99免费在线观看视频| 久久国产亚洲精品| 91视频国产免费|