I need to generate reports in my Django project, I tried django-report-tools but it has incompatiblity with Django > 1.6 versions.
Can somebody recommend one that works with 1.8?
The reports I need are very simple, pie charts, bar charts and the like.
As https://www.djangopackages.com/grids/g/reporting/ there are some packages that are Python 3.x compatible and are released lately.
I've checked DJANGO-REPORT-BUILDER and it supports the latest.
My personal preference is to use jQuery HighCharts as Frontend and Django Rest Framework to provide Json data to the charts.
Just 4 years later :)
Check out this package
https://github.com/ra-systems/django-slick-reporting
It's a reporting engine where you can create grouped by computed reports, time series and crosstab using handful of easy lines of code.
It also comes with Charting out of the box.
Disclaimer: I'm the initial author.
Cheers mate ..
Related
Using Redmine v3.3, is it possible to have a custom calculated field based on data in two other custom fields?
e.g. Duration = Date 2 - Date 1
Specifically, I am attempting to calculate the days between two dates as a performance metric. More generally, we will be looking to eventually using other custom calculated fields (simple additions, multiplications, etc.).
It would be preferable to keep this to the "vanilla" Redmine v3.3 without additional plugins but all suggestions are of course welcome.
Not in Vanilla Redmine as of 3.3, unfortunately.
It has been requested and there was some discussion about it. The feature wasn't rejected but nobody has gotten around to building it for Redmine. You can follow the discussion/development here:
http://www.redmine.org/issues/1712
A plugin is discussed in that issue as well but - as with all plugins - a thorough check will be required if it matches your stability/security expectations.
Such feature request has been filed 11 years ago (2008-7-30), while not yet enhanced.
At the moment, you can try Computed Custom Field plugin.
Although it shows "This project is no longer maintained", it stated that it is comptatible with latest stable version of Redmine 4.0.4 (2019-06-10).
Current version: 1.0.7 (2019-01-14)
Compatible with: Redmine 4.0.x, 3.4.x, 3.3.x, 3.2.x, 3.1.x, 3.0.x, 2.6.x, 2.5.x
There are two main schools of thought for doing A/B (Split) Testing:
Javascript-based solutions such as Optimizely, Google Analytics Content Experiments.
Server-side solutions such as Django-AB, Splango, and django-lean. (Also, writing your own.)
My understanding is that Javascript-based solutions are spectacular for "which color button converts better," but not so great for switching out entire page layouts, and completely unworkable for trying out large functional changes such as the sequence of pages in a funnel.
That leads me towards a server-side solution. I'm not crazy about coding my own, and will do so only if there is no other option. I'm trying to add value by improving the core functionality of my site, not by creating a better split-testing framework.
The Django apps I've found for split testing are various mixtures of unmaintained, undocumented, documented incorrectly, and incompatible with Django 1.5. This surprises me, because the Django and Python communities seem to have a strong focus on good documentation. I'm also very surprised that none of the testing frameworks I've tried has been compatible with Django 1.5 -- is testing not as core a part of the philosophy in the Django/Python world as it is in Rails?
Here's what I've found:
Splango https://github.com/shimon/Splango -- Not compatible with Django 1.5 (although most compatibility bugs I found were trivial to fix). Largely un-touched since October 2010, except for a fix August 2012 which claims to make sure templates get included in the install. Since templates don't get included in the install when Splango is installed via PyPI, either the fix didn't work or didn't get submitted to PyPI. Documentation is largely accurate, but doesn't completely cover how to set up tests and get reports. It tells you how to configure the template to gather the data, but there appears to be additional steps required in the admin interface which are completely undocumented, and I'm not sure I've done them properly.
Django-lean. Original at https://bitbucket.org/akoha/django-lean has not been updated since July 2010. There is an apparently "blessed" fork at https://github.com/anandhenry2002/django-lean which has not been changed since May 2012, when it was copied over from the original. The original's documentation is incorrect in ways that make following the examples impossible. (Though you can probably muddle your way through, as I did.) The new version's documentation has formatting problems that make it difficult to read on github. (This appears to be because it's the unchanged documentation from the old project, and BitBucket syntax doesn't work on Github.) The django-lean Google Group has not had a message since July 2012.
django-mini-lean https://github.com/DanAncona/django-mini-lean -- Updated as recently as February 2013, but undocumented.
Leaner - https://bitbucket.org/brianjinwright/leaner -- Last updated July 2012, and no docs.
Django-AB -- Last updated May 2009. Is not a package, and can't be installed via PIP or PyPI. After placing the checkout in my django app folder (and renaming the folder to ab) and following the installation instructions, I get an error loading the template loader that I have not tracked down further.
So far Splango appears to be the winner, as I've actually been able to get it more-or-less working (by manually installing the templates, and then editing them to fix Django 1.5 incompatibilities).
Can anyone point me to anything I've missed?
You have missed this app : https://github.com/mixcloud/django-experiments + https://github.com/disqus/gargoyle/
And then there's waffle: http://waffle.readthedocs.org/
It's simple, updated, maintained, but not very feature rich, it doesn't have any analytics/reporting stuff integrated. But then again, google analytics or mixpanel type of service is better for this.
I first looked at Django-AB and that is almost what I wanted, but I couldn't get it to work either. After looking at django-experiments and deciding I didn't want to mess around with redis yet, I decided to roll my own. I've tried to package it up nicely and make it easy to use for the beginner. It's super basic.
https://github.com/crobertsbmw/RobertsAB
You can swap out entirely different page layouts with Google Analytics Experiments (their default experiment setup will redirect users to a different URL for each variation you have), although in general its much easier to interpret why something is more successful if you test smaller things against each other.
You are right that testing different funnels and user flows against each other using Google Analytics would require a lot of manual setup; although theoretically you could do it by swapping out different links and tracking your users with UTM campaigns.
For smaller A/B tests within the same page, I ended up using Google Analytics Experiments and writing a custom Django CMS plugin for adding a few variant options to a template, which queries the Google Analytics API and displays the correct variant using Javascript.
We're using django-admin interface for the backoffice of our own apps, but it we do expose it to our clients.
I'm considering going with either django-admin-tools or grappelli, to conveniently add modules and additional interactivity to the dashboard and data views.
What are your experiences?
django-admin-tools seems to be less intrusive. When I checked it, Grappelli broke some of admin-site extensions or widgets. Maybe they fixed it, but I'm alredy using DAT on my projects.
If I had to summarize: DAT is more about functionality; Grappelli is a more about style. So whatever fits you, best, go with it. Being a design-driven company, we ended up going with Grappelli.
My company did this analysis when we decided to use Django admin as a client-facing backend for a CMS Product. DAT offers some interesting functionality, some of which is duplicated in grappelli and some of which is not. Grappelli offers a few interesting additions of its own. In the end, we went with grappelli because of the really nice styling. My recommendation is to try both. Early on, we included both in the project, set up their respective dashboards, and it took about 30 seconds to switch between the two.
The commenter is right about grappelli needing to be in sync with django. I made the mistake of upgrading django without checking with grappelli, and it broke several things. The latest version of grappelli supports Django 1.4 and we'll be upgrading them together.
You will need to keep Django and grappelli in sync... The current version of Django is 1.4, but the current version grappelli supports 1.3. There is a branch that supports 1.4 however. If you are willing to support the minor hassle of managing this, grappelli offers some nice enhancements and a slicker look - starting with being able to set the title to the admin interface without copying and editing the admin template.
Depending on what you are doing, nice DateTime pickers (with "Today" and "Now" buttons) as well as sortable inlines can be very convenient.
Here is a little more up to date answer:
I have been using both but now am slowly moving towards grapelli, especially for new projects. Grapelli has for the most part caught up with django admin tools in terms of creating custom dashboards and menus. I still haven't seen all the features like draggable panels. Grapelli has better support and this can be seen by the repository activity. It was first to support Django 1.7 and at the time of me writing this, DAT did not offer that support yet. The reported bugs also do not get patched very often. I am also liking the way Grapelli looks and it is used in Mezzanine, my favourite cms.
Here are the two repositories if you wish to look:
https://bitbucket.org/izi/django-admin-tools/overview
https://github.com/sehmaschine/django-grappelli
Hope this helps.
What is a good django open source app that I can learn from? Something that follows best practices, and covers the majority of features and isn't overly complicated?
This would depend on your current level of knowledge of python and django.
If you are just starting to use django, I suggest you take a look in django documentation. It is well specified and clear. If you have some project in mind, start working on it while looking up for best practices about specific parts. For python coding style try to follow the pep 8 style guide.
If you already have done some work with django there are many sites lie these:
http://djangopackages.com/categories/apps/
http://www.django-apps.com/
What I do nowdays is look into django contrib apps (admin, auth, comments, flatpages), which are built based on the rest of django. This gives the best ways on how to write my apps.
Following the django comments framework (object independent), I am working on an app django-valuate (object independent attachment of ratings, likebuttons etc. through template tags)
These are some of my views. I have also starred this question, as I would like to know about some different perspectives and if mine are sound.
I've found djangobb (www.djangobb.org) to be a complete application, production quality and relatively simple. I use it as a base for my application which has nothing to do with forums and bb.
cloc output: only 3000 lines of python code in 30 files, another 2900 lines of templates html
I do not think there would be any one specific app that would cover all/most features of Django since the concept of the Django app itself is to perform specific/related functionality.
Having said that, a popular Django app is django-registration. Its popularity stems from the obvious requirement of most webapps to have User authentication and also its extremely easy to integrate with a Django project.
The best approach perhaps would be to keep trying the tons of open source Django apps available on the net. You can browse through http://www.djangopackages.com/ and http://www.django-apps.com/ to start getting your hands dirty.
snipt.net, a code sharing site:
https://github.com/lionburger/snipt
Review Board, a code review web app
https://github.com/reviewboard/reviewboard/tree/master/reviewboard
rietveld, another code review on app engine, by GVR himself. You need to know a bit of Django before digging into this source code since the Django models don't work on App Engine, GAE db model is used instead.
http://code.google.com/p/rietveld/source/browse/#svn%2Ftrunk
I'm building an application in django and I'd like to have a reports section. The charts will be used to disply numerical values between different dates.
I tried GoogleChartWrapper but I'm looking something more flexible and nicer.
Thanks.
Not really a django question - just use a javascript plotting package and stick it in your django app in the usual way (.js goes into your media files, javascript includes go into your templates for headers etc). Then write django templates that dump your data into whatever the plot package needs - probably javascript.
I've used flot for this, but for something really shiny there's protovis which is something I might use next time!
If you want something powerful I suggest to take a look at matplotlib. This may be also useful: matplotlib and Django.
you could also try chartit (it uses highcharts).
https://pypi.python.org/pypi/django_chartit
Another option is to design a chart with e.g. http://dexautomation.com/googlechartgenerator.php and then maintain it and fill with real data using http://pypi.python.org/pypi/django-chart-tools