FrontPage
>>
ZGDChart
last edited 4 years ago by jack
ZGDChart は、グラフとか、そういうのを書くようなプロダクトのようです。
まずは、ZGDChart が必要とする pygdchart をインストールします
- http://www.nullcube.com/software/pygdchart/
- このサイトから pygdchart をダウンロードします。
- Makefile で /usr/include/python2.0 となってるとこを修正して make
- そしたらコピーしろって? /usr/local/lib/python2.3/site-package あたりへコピー。
- 一応動いたように見える。
そしたら、ZGDChart をば
- http://www.zope.org/Members/teyc/ZGDChart
- こちらよりダウンロードします。
- 展開して Zope をリスタートします。
- まずはサンプル
- zexp があるので import するとなんとなくわかります。
- それでは自分でやってみる。
- おきらくにやるには、まず、どこかに ZGDChart を作って
- "return ((
a,100,150),(b,250,270),(c,300,400))" だけの python script でもつくって - Data Source を python script にして、上の script の ID を選んで
- おしまい(笑)
- あとは、プロパティをいろいろ見ていけばわかるでしょう。思ったよりカンタンでした。
- プチ改造 -- Python Script に値を渡す
ZGDChart から呼びだす Python Script に値を渡せるように改造してみました。とりあえず 1 param で文字列のみだけですが、わたしの用途にはこれで充分なので
- ZGDChart.py
ver0.65 の場合 540行目くらいです
def _chartdata_script(self): script = getattr(self, self.script) try: questr = str(self.REQUEST.environ['QUERY_STRING']) except: questr = '' rows = script(questr) return self._formatData(rows)相変わらず乱暴です(^^;; - PythonScript側
param = None とか、parameters で宣言します。
- 使いかた
QUERY_STRING を使っているので、dtml-var でもなんでも、zgdtest?who=1&bar=2 とかすればいいです。デコードしてあげれば、任意の変数をいくつかは渡せますね。
えーと、コメントさんのいうとおりです。無知の産物でした・・・とほほ
- ZGDChart.py
確認 -- Mon, 08 Aug 2005 08:07:19 +0900 reply
Python Script側でcontext.REQUEST['form']?['変数名']?とすればそのままREQUEST変数受け渡しできませんでしょうか。
少なくとも当方の環境ではできています。