Tools I Learnt About at DjangoCon Europe 20192019-05-08
DjangoCon Europe 2019 was great fun. I loved meeting old and new friends, giving my talk and workshop, and learning in the other talks.
I can’t beat Tobias’ summaries. What I can present are the most interesting tools I learnt about. (Interesting to me at least!)
I learnt about this in Markus Holtermann’s talk Logging Rethought 2: The Actions of Frank Taylor Jr..
Structured logging is great. I’ve previously worked with Fluentd, using it to enforce JSON structured log messages. This included parsing messages from less structured sources, such as Nginx logs, into JSON.
structlog supports outputting structured log messages directly from Python, and has a similar interface to the familiar standard library
Also it has a cool beaver with braces as its logo.
I learnt about this in Nathan Gaberel’s talk Take the goRe out of a DjangoReact stack.
django-webpack-loader provides an easy(ish) integration between Django and Webpack.
The talk is worth watching to get an idea how this works. Nathan also recommended are Aymeric Augustin’s React-focussed blog series:
- Making React and Django play well together
- Making React and Django play well together - the “hybrid app” model
- Making React and Django play well together - the “single page app” model
This is a Lua-based “test automation framework tailored specifically for product documentation.” I found it interesting to see a framework specifically for this. There are other tools, for example Python-based Sphinx extensions.
From Paolo Melchiorre’s talk Maps with GeoDjango, PostGIS and Leaflet.
From Curtis Maloney’s lightning talk “Another View on Handling Settings.”
There was a bit of a lightning talk battle on settings. Curtis’ talk followed Alexander Ryabtsev’s talk from the previous day, which is summarized in his blog post Configuring Django Settings: Best Practices.
Curtis’ new library Confucius aims to be a forward-thinking way of solving these problems, using Python 3’s type annotations and PEP 562’s module-level
For example, this could be your Django settings file, on Python 3.7+:
The settings, such as
DB_HOST, can be overridden from their defaults with their respective environment variables.
Hope you enjoyed browsing these with me,
© 2019 All rights reserved.