2009-04-27 4 views
7

मुझे आश्चर्य है कि क्या कोई डीजेंगो आधारित है, या यहां तक ​​कि पायथन आधारित रिपोर्टिंग सेवाएं अला जैस्परपोर्ट्स या SQL सर्वर रिपोर्टिंग सेवाएं भी हैं?Django या Python में डेटाबेस रिपोर्टिंग सेवाएं

असल में, मुझे रिपोर्ट बनाने में सक्षम होना पसंद है, रिपोर्ट को कोड किए बिना उन्हें CSV या HTML या PDF के रूप में ईमेल के रूप में भेजें। यहां तक ​​कि अगर मुझे रिपोर्ट को कोड करना है तो मुझे कोई फर्क नहीं पड़ता, लेकिन शेड्यूल के साथ पूरा ढांचा और भी अच्छा होगा!

पी एस। मुझे पता है कि मैं इसे करने के लिए Django ऐप्स का उपयोग कर सकता था, लेकिन मैं उम्मीद कर रहा था कि क्या कोई एकीकृत समाधान या यहां तक ​​कि पिनैक्स या सैचमो जैसी परियोजनाएं हैं जो आवश्यक ऐप्स को एक साथ लाती हैं।

पी पी एस: यह Postgres बंद काम करने के लिए होता

उत्तर

3

मैं सिर्फ मैं अपने निष्कर्ष रिपोर्ट करेंगे जांच का एक उचित बिट के बाद सोचा था कि ...

http://code.google.com/p/django-reporting/ - मुझे लगता है कि इस परियोजना, कार्यक्षमता मैं की आवश्यकता होती है की बहुत कुछ के लिए एक भयानक उम्मीदवार की तरह लग रहा है। दुर्भाग्यवश यह Django 1.1 जो इस लेखन के रूप में (2 9 अप्रैल 200 9) जारी नहीं किया गया है। कम से कम बिना कोड के रिपोर्ट बनाने की क्षमता में।

http://code.google.com/p/django-cron/ - क्रॉन उपयोग के बिना रोजगार के निर्धारण के लिए वादा कर देखो

http://www.xhtml2pdf.com/ - या HTML के रूपांतरण के लिए पीडीएफ

लिए इस्तेमाल किया जा सकता है ReportLabs पीडीएफ पुस्तकालय इन सभी Django का ईमेल कार्यक्षमता के साथ एक साथ एक अच्छा रिपोर्टिंग कर सकता है प्रणाली।

+1

बहुत महत्वपूर्ण टिप्पणी: एक्सएचएमएल 2 पीडीएफ/पीसा जीपीएल – sorin

+0

के तहत लाइसेंस प्राप्त है वाणिज्यिक लाइसेंस वर्तमान में 500 EUR है। – sorin

+0

आपकी प्रतिक्रियाओं के लिए धन्यवाद सोरिन –

4

"मैं रिपोर्ट बनाने के लिए ... सक्षम होने के लिए प्यार होता रिपोर्टों कोड करने के लिए बिना"

तो होगा मैं दुख की बात है, हालांकि, प्रत्येक रिपोर्ट अद्वितीय लगती है और कस्टम कोड की आवश्यकता होती है।

Django मॉडल से CSV तक आसान है। अपनी कुछ रिपोर्टों के साथ वहां शुरू करें।

import csv 
from myApp.models import This, That, TheOther 
def parseCommandLine(): 
    # setup optparse to get report query parameters 
def main(): 
    wtr= csv.DictWriter(sys.stdout, ["Col1", "Col2", "Col3"]) 
    this, that = parseCommandLine() 
    thisList= This.objects.filter(name=this, that__name=that) 
    for object in thisList: 
     write.writerow(object.col1, object.that.col2, object.theOther.col3) 
if __name__ == "__main__": 
    main() 

एचटीएमएल बहुत आसान है - Django एक HTML टेम्पलेट भाषा है। Render_to_response की बजाय, आप बस अपना टेम्पलेट प्रस्तुत करते हैं और इसे stdout पर लिखते हैं। और दिलचस्प रूप से एल्गोरिदम का मूल एक सीएसवी लिखने के समान ही है। इतना ही पर्याप्त है कि - बिना चतुरता के - आपके पास एक डिज़ाइन पैटर्न होना चाहिए जो दोनों करता है।

एक बार जब आप CSV काम कर रहे हों, तो Django के टेम्पलेट का उपयोग करके HTML जोड़ें।

पीडीएफ कठिन हैं, क्योंकि आपको वास्तव में कुछ विस्तार में स्वरूपण को काम करना है। इसके लिए बहुत सारे पायथन पुस्तकालय हैं। दिलचस्प बात यह है कि, पीडीएफ लेखन के लिए समग्र पैटर्न सीएसवी और एचटीएमएल लेखन के समान ही है।

ईमेलिंग का अर्थ है पायथन के smtplib सीधे या Django के email पैकेज का उपयोग करना। यह बहुत मुश्किल नहीं है। सभी टुकड़े वहां हैं, आपको बस कुछ वितरण सूची में उत्पादित आउटपुट फ़ाइलों को ईमेल करने की आवश्यकता है।

शेड्यूलिंग crontab का सर्वोत्तम उपयोग करने के लिए थोड़ी सी सोच लेता है। यह - शायद - नौकरी का सबसे कठिन हिस्सा है।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद! अगर मैं समय प्राप्त करने का प्रबंधन करता हूं, तो मैं एक पिनएक्स/सैचमो टाइप प्रोजेक्ट शुरू कर सकता हूं लेकिन रिपोर्टिंग के लिए! इसके बारे में सोचें! आपके पास crontab है, पीडीएफ लेखक ऐप के लिए कुछ एचटीएमएल, कुछ प्रकार के ऐप को रिपोर्ट के रूप में दृश्यों को स्टोर करने और उन्हें निर्धारित करने की अनुमति देने के लिए। यदि आपके पास कुछ और विचार हैं तो मुझे बताएं! –