| Blog | Matthias Kestenholz |
|---|---|
| RSS 2.0 Feed | Matthias Kestenholz |
| web | https://406.ch/ |
| Last Update | 10.31.2025 |
| Posts | 15 |
| Blog | Matthias Kestenholz |
|---|---|
| RSS 2.0 Feed | Matthias Kestenholz |
| web | https://406.ch/ |
| Last Update | 10.31.2025 |
| Posts | 15 |
Oct. 23, 2025 » Matthias Kestenholz » [Archived Version]
Weeknotes (2025 week 43) I published the last weeknotes entry in the first half of September. Drama in OSS I have been following the Ruby gems debacle a bit. Initially at Feinheit we used our own PHP-based framework swisdk2 to build websites. This obviously didn’t scale and I was very annoyed with PHP, so I was looking for alternatives. I remember comparing Ruby on Rails and Django, and decided to switch from PHP/swisdk2 to Python/Django for two reasons: The automatically generated admin interf…
Read MoreOct. 22, 2025 » Matthias Kestenholz » [Archived Version]
My favorite Django packages Inspired by other posts I also wanted to write up a list of my favorite Django packages. Since I’ve been working in this space for so long and since I’m maintaining quite a large list of packages I worry a bit about tooting my own horn too much here; that said, the reasons for choosing some packages hopefully speak for themselves. Also, I’m sure I’m forgetting many many packages here. Sorry for that in advance. Core Django speckenv: Loads environment variables from …
Read MoreSept. 12, 2025 » Matthias Kestenholz » [Archived Version]
LLMs are making me a better programmer… I’m still undecided about LLMs for programming. Sometimes they are very useful, especially when working on a clearly stated problem within a delimited area. Cleaning the code up afterwards is painful and takes a long time though. Even for small changes I’m unsure if using LLMs is a way to save (any) resources, be it time, water, energy or whatever. They do help me get started, and help me be more ambitious. That’s not a new idea. Simon Willison wrote a po…
Read MoreSept. 10, 2025 » Matthias Kestenholz » [Archived Version]
Weeknotes (2025 week 37) I’m having a slow week after the last wisdom tooth extraction. Finally! I’m slowly recuperating from that. I’m trying to split up the blog posts a bit and writing more standalone pieces instead of putting everything into weeknotes. Publishing more focussed pieces sounds like a good thing and should also help me with finding my own writing later. Releases django-content-editor 8.0.2: I fixed the ordering calculation in the cloning functionality; the tests are a bit too …
Read MoreAug. 29, 2025 » Matthias Kestenholz » [Archived Version]
Weeknotes (2025 week 35) Summer was and is nice. The hot days seem to be over (for now), but in the last years summer hasn’t really left until the end of September, so we’ll see. I personally like the warm weather but I really hoped that our leaders were smarter. The climate emergency could be seen from far away. The pigheadedness is hard to stomach. And of course it’s not the only problem we’re facing as humanity at all. Releases I did some longer-form writing about two of the releases here: M…
Read MoreAug. 27, 2025 » Matthias Kestenholz » [Archived Version]
django-content-editor now supports cloning of content What is the content editor? Django’s builtin admin application provides a really good and usable administration interface for creating and updating content. django-content-editor extends Django’s inlines mechanism with an interface and tools for managing and rendering heterogenous collections of content as are often necessary for content management systems. We are using django-content-editor in basically all projects, as a part of feincms3. …
Read MoreAug. 23, 2025 » Matthias Kestenholz » [Archived Version]
Menu improvements in django-prose-editor I have repeatedly mentioned the django-prose-editor project in my weeknotes but I haven’t written a proper post about it since rebuilding it on top of Tiptap at the end of 2024. Much has happened in the meantime. A lot of work went into the menu system (as alluded to in the title of this post), but by no means does that cover all the work. As always, the CHANGELOG is the authoritative source. 0.11 introduced HTML sanitization which only allows HTML tags …
Read MoreJuly 5, 2025 » Matthias Kestenholz » [Archived Version]
Weeknotes (2025 week 27) I have again missed a few weeks, so the releases section will be longer than usual since it covers six weeks. django-prose-editor I have totally restructured the documentation to make it clearer. The configuration chapter is shorter and more focussed, and the custom extensions chapter actually shows all required parts now. The most visible change is probably the refactored menu system. Extensions now have an addMenuItems method where they can add their own buttons to th…
Read MoreJune 4, 2025 » Matthias Kestenholz » [Archived Version]
Preserving referential integrity with JSON fields and Django Motivation The great thing about using feincms3 and django-content-editor is that CMS plugins are Django models – if using them you immediately have access to the power of Django’s ORM and Django’s administration interface. However, using one model per content type can be limiting on larger sites. Because of this we like using JSON plugins with schemas for more fringe use cases or for places where we have richer data but do not want t…
Read MoreMay 26, 2025 » Matthias Kestenholz » [Archived Version]
How I’m bundling frontend assets using Django and rspack these days I last wrote about configuring Django with bundlers in 2018: Our approach to configuring Django, Webpack and ManifestStaticFilesStorage. An update has been a long time coming. I wanted to write this down for a while already, but each time I started explaining how configuring rspack is actually nice I look at the files we’re using and switch to writing about something else. This time I managed to get through – it’s not that bad,…
Read More