The author is learning to build websites in a 2010 style, utilizing an SQL database and backend HTML rendering through Django. This approach differs from their usual frontend-heavy methods using static site generators, JavaScript, or simple SPAs. They find Django's query builder, which allows defining reusable filtered queries, particularly useful for organizing data retrieval. Django's built-in template filters for tasks like URL conversion, date formatting, and JSON embedding significantly enhance HTML generation. The querystring template filter is highlighted as a favorite for easily manipulating URL parameters. Automatic database migrations are appreciated for simplifying schema changes as the project evolves. The author prefers function-based views over class-based views with inheritance for code organization. However, they struggle with understanding and managing Django site performance, finding it less straightforward than Go backends. Issues like caching and templating system choices remain unclear at a high level. Accidental misconfiguration, such as disabling the cached template loader, highlights the complexity of Django's settings. The author plans to share more experiences with Django in future, shorter blog posts.
querystringtemplate filter is highlighted as a favorite for easily manipulating URL parameters. Automatic database migrations are appreciated for simplifying schema changes as the project evolves. The author prefers function-based views over class-based views with inheritance for code organization. However, they struggle with understanding and managing Django site performance, finding it less straightforward than Go backends. Issues like caching and templating system choices remain unclear at a high level. Accidental misconfiguration, such as disabling the cached template loader, highlights the complexity of Django's settings. The author plans to share more experiences with Django in future, shorter blog posts.