Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As somebody who has used both Rails and Django commercially I can safely say that I prefer Rails over Django even though I like Python more as a language.

This guy marks several advantages of Rails as weaknesses.

Migrations for example. In Django you have to migrate manually, or lose data. Lack of migrations is not an advantage.

Templates. The Django template language is one of the worst in existence. It is utterly inflexible and hard to use. It is slowly getting better: now you can use `if a == b` instead of `ifequal a b`. Why not go all the way to a usable and powerful template language?!



> As somebody who has used both Rails and Django commercially ... In Django you have to migrate manually, or lose data

If you've been using Django "commercially", then how come you haven't heard of South? ... http://south.aeracode.org/

Everybody in the community that wants migrations is using it.

> Why not go all the way to a usable and powerful template language?!

In Django components are more decoupled than in Rails. You can replace that templating engine.

Also, Django's templating system is really not that inflexible or hard to use ... quite the contrary, it comes with many things out-of-the-box that aren't standardly provided by other web frameworks ... like the ability to cache page fragments.


Of course those are valid points but we are comparing default feature sets here. Otherwise Rails has a crippled template language, database generated from model and automatic admin too.

Have you actually used Rails? Rails has fragment caching built in and you can use a different template engine very easily (just install the engine xyz you want to use and write templates with extension .xyz instead of .erb)


It's kind of odd that the default subsystems that come with Django are always replaced with something else -- why doesn't Django include some sane defaults instead?


This implies that Rails has "sane defaults".

From my experience that's hardly the case ... ActiveRecord (pre 3.0 at least) sucks big monkey balls compared to Django's ORM. And Rails also doesn't have anything like the forms API in Django.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: