I went to a Python meetup yesterday that was supposed be all about Django workflow and deployments. (Please forgive the magic django pony. I saw it on Google and absolutely had to use it.) Unfortunately, whoever originally suggested that topic for the meetup wasn’t there and no one was prepared to actually give a talk on the subject so the meetup became a bit more of an impromptu panel discussion. While it was a little bit all over the place I did take a few notes so I’m going to share what I have.
- It generally takes about 15 minutes from installation time to having an app you can hack on.
- Django is very opinionated in that it forces you to use its own templating language and ORM layer.
- You can deploy a Django app on Apache and even the Google App engine. (Although apparently it takes some work to get everything setup on Google.)
- Once you have it setup there is a huge ecosystem of plugins available to tap into. They specifically mentioned social logins, newsletter management and “anything you can think up.” It sounds like ready to go, drop in functionality.
- Reflection is not supported very well in the ORM so you have to explicitly declare your fields within the models.
- It was interesting that some people thought that Django was a little heavy with its conventions and requiring you to do things a certain way, however others thought that there was too much configuration / boilerplate work involved and they couldn’t get to the meat of their application as quickly as they would have liked.
- Related to the above, someone specifically mentioned that there is no set way of integrating AJAX calls or implementing REST APIs with Django.
- Lastly, someone mentioned that a UX guy picked up Django in his spare time and that it was so easy to learn he was able to knock out entire features over lunch. I’m not sure how much weight that holds, but it does sound nice.
Several of the people at the meetup seemed to prefer another framework called Pyramid. There was some debate about which of the frameworks had a lower barrier to entry, offered the best performance and was the best choice overall, but no one really got into talking specifically about what it is. It sounded like a less opinionated framework that just sets the stage for you and allowed you to bring in whatever additional libraries you need for templating, ORM, etc.