Notes on starting to use Django

(jvns.ca)

36 points | by ingve 6 hours ago ago

12 comments

  • interroboink 3 hours ago

    Django aside, I think this is a really important point:

      Being able to abandon a project for months or years and then come back
      to it is really important to me (that’s how all my projects work!) ...
    
    It's perhaps especially true for a hobbyist situation, but even in a bigger environment, there is a cost to keeping people on hand who understand how XYZ works, getting new people up to speed, etc.

    I, too, have found found that my interactions with past versions of myself across decades has been a nice way to learn good habits that also benefit me professionally.

  • selcuka 4 hours ago

    Django is objectively the most productive "boring technology" I've ever worked with for developing web applications. They don't regularly add too many bells and whistles on every release, but they keep it stable and reasonably backwards compatible.

  • jgavris an hour ago

    The Django ORM / migrations are still basically unmatched in happiness factor.

    • dnautics 4 minutes ago

      oh the automatic migrations scare the bejesus out of me. i really prefer writing out schemas and migrations like in elixir/ecto. plus i like the option of having two different schemas for the same table (even if i never use it)

    • hansonkd 19 minutes ago

      Its crazy to me after all these years that django-like migrations aren't in every language. On the one hand they seem so straightforward and powerful, but there must be some underlying complexities of having it autogenerate migrations.

      Its always a surprise when i went to Elixir or Rust and the migration story was more complicated and manual compared to just changing a model, generating a migration and committing.

      In the pre-LLM world, I was writing ecto files, and it was super repetitive to define make large database strucutres compared to Django.

      • dnautics a minute ago

        well in elixir you can have two schemas for the same table, which could represent different views, for example, an admin view and a user view. this is not (necessarily) for security but it reduces the number of columns fetched in the query to only what you need for the purpose.

  • striking 4 hours ago

    Thanks for this! I wish there were more cross-comparisons like this out there of what it is actually like to use some of these frameworks, the note on Django being a little less magic than Rails makes me genuinely interested in it.

  • bb88 3 hours ago

    After spending a lot of my time on Django, it's fine for simple to moderately complex things. The ORM mostly good. DRF is fine for APIs. And the admin is super nice as well.

    But once something gets significantly complex, the ORM starts to fall down, and DRF becomes more of a hindrance.

    But if you're just doing simple CRUD apps, Django is perfectly serviceable.

  • synack 5 hours ago

    Claude Code is also very good at building basic CRUD apps with Django.

  • giancarlostoro 4 hours ago

    I always return to Django for any project. It's fantastic. Enough batteries are included with it that it is very powerful.

  • jszymborski 3 hours ago

    > I love being able to backup by just doing a VACUUM INTO and then copying the resulting single file.

    Naively, I would probably just copy the sqlite file. Is that a bad idea?