3 ms·
If I were to summarize Django: it's a godsend for new comers (the whole package is fabulous & comprehensive with excellent documentation). It'll get you to your
by chdir 12y ago
If I were to summarize Django: it's a godsend for new comers (the whole package is fabulous & comprehensive with excellent documentation). It'll get you to your destination fast & in style. But very soon, as you start getting a hang of it, you'll realize that it's rigidity is wearing you out. I wish there's a django-light fork that takes all the good things in it and mashes it with jinja2 & SQLAlchemy.
Please make it a lot more modular. Maybe a kickstarter (like South did & Postgres improvement is doing)
P.S. I know there's flask, but it's still a while before it reaches that point for some of us.
- jpulec 12y agoMore modular? I think how modular it is, is one of Django's greatest strengths. Don't like django's templating? You can be up and running with jinja2 in less than 20 lines. Don't like Django's user model? Substitute your own, or if you just need a different auth backend, write your own. Have a desire to use a less common DB? Write a db backend. As far as trashing the ORM for SQLAlchemy, there are a number of django packages that aim to do just that. There is a small number of ways I could imagine Django being MORE modular.
- secstate 12y agoI'm pretty sure Flask is as robust as it's going to be. Flask is Django without all the batteries included, which is what you're asking for. Throw Jinja2 templates in there and SQLAlchemy for an ORM and that's exactly what you're after. Now, if you want views and middleware too, well that's core Django and you probably want django as well. What parts of it see too rigid to you?
- fdemmer 12y agohere are jacob and jacob on "django minus django": https://www.youtube.com/watch?v=aFRH-oHcbn8 https://www.youtube.com/watch?v=aFRH-oHcbn8 slides: https://speakerdeck.com/jacobian/django-minus-django-djangocon-eu-2014 https://speakerdeck.com/jacobian/django-minus-django-djangoc... if you take time to really look into it, it's pretty modular...
- mahmoudimus 12y agoOne common theme I'm hearing is that individuals want a "way to grow big" but with the ease of getting started quickly while having an extensive ecosystem. Flask was written on top of Werkzeug as an example of how to build a "roll-your-own" web framework. It has a few shortcomings, but overall, it's OK and you can contour it to whatever you need done. After all, if Flask starts to "wear you out," you can always graduate to just Werkzeug. I think there's an opportunity here for something like this to be built on top of Pyramid, which I've found to have a very extensible API. The main problem with Pyramid is the perception to newcomers - there is more than one way to do it and it doesn't have any opinions on how you should go about doing something. It leaves it up to your imagination. There's a slight trade off here between an opinionated framework and the extensibility of Pyramid.
- jsmeaton 12y agoI think the problem with not being opinionated is that 3rd party libraries have nothing they can rely on. Do you write 3 sets of templates for the 3 most popular templating libraries? Do you provide models for SQLAlchemy AND Django? Or do you pick your combination of dependencies, and let someone else reimplement your library with a different combination? That's where I think Django shines. It might not have the best templating library, ORM, or routes frameworks. But app developers and library developers know exactly what they have to integrate with. This encourages a better ecosystem.
- andrewgodwin 12y agoYou're free to use Django without the template language - that's a relatively simple replacement and one we're looking into making even easier. The ORM/SQLAlchemy is a more difficult issue. To some extent, Django _is_ its ORM, and making that modular is extremely difficult. You can remove the ORM, but you'll obviously lose everything on top of it - admin, migrations, generic views, etc. I personally believe that while the ORM is not as configurable as SQLAlchemy, that's one of its strengths; having a relatively fixed target makes writing things that rely on it a lot easier (migrations would have been much harder given SQLAlchemy as a base, for example).
- andybak 12y ago> But very soon, as you start getting a hang of it, you'll realize that it's rigidity is wearing you out. It's been eight years now and I haven't got worn out. When should I expect that feeling?
- rectangletangle 12y agoI've been using Django for about ~2 years. I haven't found it to be too rigid at all. And for the few situations where I've really needed to implement something novel, I've found working with Django to be an absolute pleasure. There's hooks to easily extend things in all of the right places. Django's source as a whole is very well written and documented.