I’m curious anecdotally what are must-haves? There are so many wonderful ones out there but I’m often asked by newcomers which ones to use and don’t want to overwhelm them.
For python-frontmatter, what’s an example of when you add YAML to a Django project?
Also I agree there a bunch of Python-specific packages needed in most Django projects and I’ve added a “Python Packages” section to awesome-django repo to reflect this just now.
My needs are more “limited” in nature than most - but my most important are:
django-extensions
django-debug-toolbar / django-debug-toolbar-request-history
djangorestframework
django-crispy-forms
django-environ
To cheat some more:
django-datatables-view
django-treebeard
django-braces
For python-frontmatter, what’s an example of when you add YAML to a Django project?
I use it for importing and sometimes exporting data that I also want to be version controlled. I wrote a library to help with it, but I never got around to releasing it.
I love the flexibility of having a database, but the searchability kind-of sucks when you need to find/update one piece of data that may be stored in four to six different tables or in a template. It’s really hard to beat git grep plus having db data stored as frontmatter makes having pages staged over multiple environments way easier than trying to draft changes from staging and copying over to production.
I have gotten some decent mileage out of django-simple-history for something quick and effective.
On a recent project, I wanted to be able to able to store pending model changes that needed to be reviewed and nothing off the shelf really worked that I could fine. Using Django’s contrib Postgres JSONField plus DRF’s ModelSerializer and I had something working within half an hour that I could live with. That said, I would not recommend going this route, but it’s more easily solved today than it was three or four years ago.
Thanks, I actually hacked together pretty much the same solution. A “snapshot” table for each model with JSONField that’s populated using a DRF Model serializer, with a creation and deletion timestamp.
We also need to handle the edit suggestions and have “XXXSuggestion” models that we use to let users suggest changes that also use a JSON field for a suggested snapshot.
django-simple-history looks like a great alternative
I really enjoyed using django-lifecycle to glue my project together. I also used a http://jsonpatch.com/ library to make the JSON Diff view much easier to grok from diff to diff.
These are some great packages listed so far from everyone! I’ve definitely checked on a bunch that I’ve never seen before. Here’s my top 5 (plus the why):