12 ms·
Ask HN: Where is the Django community?
I'm debating whether to pick up Ruby on Rails in addition to my basic django knowledge, and as I explore the RoR community, I can't help but be amazed at how rich and active it is. For learning rails there are 3 very high quality books that talk about the latest version (Rails Way, Rails Tutorial, Agile Web Development with Rails). Compare this to the books available Django, none of which discuss the latest edition and many of which are outdated(e.g. Django book v2 (the latest ed.) covers Django 1.0!).
This doesn't touch on the huge number of blogs/sites that are dedicated to ruby news and tips (e.g. planetrubyonrails, railscasts, etc.).
Is there a reason for this discrepancy between the two ecosystems? Am I just not aware of where the Django community lives? Also, for those of you using Django or Rails, did the size of the community for your framework of choice influence your decision?
- tghw 15y agoI think part of the difference is that the Django docs are just so good, there isn't a lot I can think of that a book would add. DjangoSnippets.org is also pretty useful, as are the multitudes of Django apps available on GitHub and BitBucket. You can also hang out in #django on freenode. People can sometimes be a bit gruff with noobs (though what IRC channel isn't) but there are usually some good discussions going on there.
- ehutch79 15y agoThe django docs arn't as good as they're made out to be, at least not any more. The major problem is they're lagging behind at this point, in both using the new core features such as class based views, and in best practices, such as the tutorial teaching reusable apps. the core devs have said this themselves though on stage at cons, so i'm sure it'll get fixed at some point.
- batiste 15y agoThe lack of documentation for class based view is quite annoying! How can they release a feature without at least a few lines?
- petercooper 15y agoThis is part of the reason that some people claim "the Ruby community" is full of drama. In reality, it has no more drama than any other group of people. The difference is, those people interact with each other and publish a lot, so any disagreements are more visible. Anyway, maybe one place to start is http://djangoweek.ly/ http://djangoweek.ly/ - not exactly a community but it's a news service so you're likely to be led to interesting places.
- hsparikh 15y agoI am newbie when it comes to development, and I had the same choice between developing my product on RoR or Django. I chose Django, and between the tutorial, docs, and the google mailing list, I think there is a pretty good community out there. A book would be nice, but there are some good apps on registraton, profile, etc. available on GitHub or BitBucket out there. Granted, it might not be plug and play like in the case of RoR, but I have found it to be alright so far.
- ulvund 15y agoList of communities: https://code.djangoproject.com/wiki/DjangoResources#Community https://code.djangoproject.com/wiki/DjangoResources#Communit... Mailing lists: https://www.djangoproject.com/community/ https://www.djangoproject.com/community/ on the right Sizes of communities: reddit: http://www.reddit.com/r/django http://www.reddit.com/r/django - 4,181 readers http://www.reddit.com/r/rails http://www.reddit.com/r/rails - 1,994 readers http://www.reddit.com/r/rubyonrails http://www.reddit.com/r/rubyonrails - 921 readers Stackoverflow: http://stackoverflow.com/questions/tagged/django http://stackoverflow.com/questions/tagged/django 20k tagged http://stackoverflow.com/questions/tagged/ruby-on-rails http://stackoverflow.com/questions/tagged/ruby-on-rails 40k tagged
- malero 15y agohttp://www.reddit.com/r/python http://www.reddit.com/r/python - 22,586 readers http://www.reddit.com/r/ruby http://www.reddit.com/r/ruby - 8,211 readers http://stackoverflow.com/questions/tagged/python http://stackoverflow.com/questions/tagged/python - 66k tagged http://stackoverflow.com/questions/tagged/ruby http://stackoverflow.com/questions/tagged/ruby - 26k tagged
- dimmuborgir 15y agoTo be honest, Reddit has always been a Python stronghold. (may be because Reddit itself is written in Python) And if it wasn't for the excellent http://railsforum.com http://railsforum.com, Rails could have got several thousands more tags on Stackoverflow.
- maxklein 15y agoLet me tell you the truth, though this will not be popular: Django is not a good framework. It's clumsy, inflexible and restrictive. The community is pretty much dead. If you want to work in ruby, go for ror. If you want to work in python, go for a micro framework like Bottle. I made the mistake of investing a lot of my time in Django. It was not worth it in the end. All my Django projects ended up being a big mess, and I had to undjango my way out of the various restrictions it placed on me. And the community in general seems to agree - there is not much different in the django ecosystem, comparing 2 years ago to now. My advice, go for Ruby On Rails or Bottle. Leave Django alone.
- deleted 15y ago[deleted]
- deleted 15y ago[deleted]
- simonsarris 15y agoThis is what I did (Django for one project -> moved to Rails) and second this. I think Django is a lot easier to get started with, but RoR is much more thought out. OP should also read: http://www.scribd.com/doc/37113340/Why-Django-Sucks-and-How-we-Can-Fix-it http://www.scribd.com/doc/37113340/Why-Django-Sucks-and-How-... Which summarizes some of the problems I had with it. Getting components to work was always a custom job; a stark difference compared with the ease of getting Rails components to work.
- andybak 15y agoI'll just point out that was one of the major talks at DjangoCon 2010 and the title was meant to be provocative and in good humour. Eric Florenzano was and is a major player in the (allegedly non-existent) Django community.
- chrisgo 15y agoAny experience with web2py?
- phalanx 15y agoThe Django-Users Google Group is extremely active: http://groups.google.com/group/django-users?lnk=srg http://groups.google.com/group/django-users?lnk=srg Highly active mailing list.
- aspir 15y agoI went through the very same experience you're going through now, and ended up with Rails. The largest deciding factor was the size of the community in my geographic area. Sure, there's always going to be a nontrivial online community for any activity, and the online presence of Django is enough to keep you going. But, you'll need to get some face-to-face interaction in there -- at least I needed that when learning. Waiting for a message board post is not the same as asking a few questions back and forth with a more experienced developer. My impression that I got from both communities is that while both are good at fostering the growth of existing members (most programming communities do this well). Django is really bad at "evangelism," via teaching non developers to code via Python/Django or converting existing devs over to the framework. In contrast, the Rails community is better than most for profit groups at this (think about Microsoft's initiatives vs. something like Rails for Zombies). For an example, compare the two homepages. The Rails page is much better at actually conveying the it's information effectively than Django.
- voidfiles 15y agoI think the biggest thing most people are missing is that django is an okay base, but you shouldn't look just to the django community, you should look to the python community. Django is only one aspect of a whole stack, and you should be more worried about your language choice then your framework choice.
- pinoceros 15y agoabsolutely true.
- iqster 15y agoI have a lot of Python experience. However, I recently started to learn RoR. Having a great time so far. I'd recommend making the investment.
- deleted 15y ago[deleted]
- ibejoeb 15y ago#django irc.freenode.net
- c4urself 15y agotl;dr; (Not meant as a smart-ass comment but...) they're busy building stuff. I think one of the interesting with Django is just how easy it is to get started with it without prior programming knowledge. I believe this has to do with Python itself and the great docs on Djangoproject.com Just start doing the tutorial and voila. This has introduced a large amount of new programmers to Django and Python, making it gain in popularity extremely quickly. Case in point: when Django 1.0 came out the "core team" was often on Google Groups "django-users" answering even the most basic questions about programming. Now most have moved on from Lawrence to businesses of their own; e.g. they're building cool new things. Other users within the Django community need to take over the baton and build up the community. I truly think there are tons of developers out there that are just using Django and haven't taken time to contribute back (I'm partly looking at myself) I think a new surge can take place in Django development in that respect; the user base Django has accrued over the years need to start returning the investment as it were. Speaking for myself, I've been able to find most if not all information I needed online, and haven't so much needed to go to meetups or even irc and google groups. In this respect the lack of Django community you speak of rests on my shoulders and other Django users out there who haven't taken the time to contribute back to the community. EDIT: I'm going to make a point of being more involved in the community via IRC etc.
- mtogo 15y agoI think one of the interesting with Django is just how easy it is to get started with it without prior programming knowledge. Wait, you're kidding right? Django is positively horrible for beginning programmers because it's a gigantic framework with an insane learning curve, and if you haven't done much/any webdev before it's almost impossible to learn. Sure, you and i can pick it up in a weekend, but i don't think it's even in the realm of decent for beginning programmers.
- andybak 15y agoHmmmm. I was a pretty green PHP coder when I picked up Django and I found the only parts of the learning curve which were tricky were doing things WELL. i.e. understanding how to write elegant, reusable code. And that's hard in any language because it's about being a good programmer, rather than just learning an API.
- joshkelly 15y agoI'm in this same boat. I decided to go with Python vs Ruby due to what seemed like a better language for Sys Admin scripting. I tried Django in the past and quickly ran into issues after Django Book. I think I might give Bottle and Flask a try and get my project live.
- true_religion 15y agoWhat issues did you run into by the way?
- msluyter 15y agoFor a long time I debated which framework to pursue in my off time (work is Java/struts blub programming). Python is the first and only programming language that I truly fell in love with, so I've investigated Django and rather like it. But I'm going to the Lone Star ruby conference next month, and I'll be doing the 0 to Rails tutorial. I guess I'm still having a hard time making up my mind. If exposure to live events is the deciding factor, then ruby will win, because I don't see many nearby django events...
- jdunck 15y agoIn my opinion, the decision whether to use Rails vs. Django should largely be based on which language you know/prefer and which culture you know/prefer. In terms of capabilities, the distance between them is tiny. Austin Python Web meetup: http://django.meetup.com/cities/us/tx/austin/ http://django.meetup.com/cities/us/tx/austin/ No?
- izak30 15y agohttps://www.djangoproject.com/community/ https://www.djangoproject.com/community/
- barnaby 15y agoEnough of a community that Google chose to let Django on App Engine, not Rails.
- wahnfrieden 15y agoThat has much more to do with Google and GAE already using Python and not Ruby.
- ashish2py 15y agoGAE also supports java webframeworks(Play-framework)
- mbrubeck 15y agoMozilla's web development team uses Django for most of their current and new projects. If you come to #webdev on irc.mozilla.org they might be able to point to some other resources and gathering places.
- xmlninja 15y agoHave you been living under a rock or why don't you have some fun with nodejs? Not saying django is dead here because its not (rails is though lol/Trollman Troll). It has a very vibrant community, almost as nice as the nodejs com.
- deleted 15y ago[deleted]
- sghill 15y agoI have the same first two questions as you, so I'm glad you asked. I can say a large part of me starting developing with Rails is the community. Many, many publishers have books. When I was in school our library had more material on Ruby/Rails than anything else in web dev. The online community is also fantastic as you've noted. Example: someone has taken the time to make ASCIIcasts out of Railscasts is incredible...and very helpful, as I'd often rather read than watch.
- thingsilearned 15y agoI've met a few of the creators of both the Rails and Django frameworks and noticed that their communities are very much a reflection of the creators. DHH and crew tend to be very vocal and opinionated about their software. The Django community (like the python community) tends to shun this type of behavior and prefers to let the code speak for itself.
- tommyg 15y agoRails 3.0 was released almost 1 year ago on August 29th, 2010 Django 1.3 was released March 23rd, 2011, about 4 months ago.
- ryanbigg 15y agoYou are contrasting the versions incorrectly. Rails 3.0 may have been released then but the latest version of it is Rails 3.0.9, which was released < 1 month ago.
- tommyg 15y agoI was just interested in these books about the "latest" version of rails. Are they about Rails 3.0.9? The Rails 3 Way - Published December 20, 2010, I doubt it includes the 3.0.9 release. Ruby on Rails 3 Tutorial - Published on December 26, 2010, also doubt this book covers 3.0.9 Agile Web Development with Rails - March 31, 2011 - don't know about this one.
- SoftwareMaven 15y agoI'm not sure I believe the RoR community is larger than the Django community. I do believe it is more vociferous, though, which seems to be indicative of the general difference in communities between Ruby and Python. It really doesn't matter which you choose. You will hit points with either where you are tearing your hair out trying to figure out how to do something. You'll find good peopke to help you in both communities. Eventually, that phase will pass and you will achieve Zen, until the next shiney framework shows up. :) Personally, I really like Python as a language, so that's my path to Zen. Yours may be different.
- devonrt 15y agoI think one of the reasons that RoR might seem bigger is because RoR is a much bigger part of the "Ruby experience" than Django is for Python. Rails had a huge hand in making Ruby what it is today and I think you'd have a hard time finding a Ruby dev that wasn't introduced through Rails. This isn't true of Python, though. Most people are Python coders first, web framework users second. Their level of experience with Python has a part in dictating what they're looking for in a web framework and many experienced Python devs are more attracted to small or micro-frameworks like Bottle, Flask, web.py, etc. Django has never been the "one true web framework" for Python the way Rails is for Ruby. Personally I have never touched Django, just Flask and web.py. Also, if you are going to base your framework usage on its popularity in comparison to Rails you're going to have a tough time ever being satisfied. When has any framework (web or otherwise) generated the same level of cult following as Rails? The Rails community is an absolute outlier in the open source software world (and I mean that in a positive way).
- gloriajw 15y agoWant to propose a talk comparing Rails to Django at PyGotham? http://pygotham.org http://pygotham.org Based on your findings, form a panel and let the community decide.
- jph 15y agoYes, pick up Ruby on Rails. The RoR community is surely more vocal. Rails has been described as "an opinionated framework" and this ripples through many of the Ruby communities and projects. Community thought leaders include people like Yehuda Katz, Jose Valim, Giles Bowkett, Ryan Bates, Ryan Davis, Loren Segal, and Charles Nutter, and companies like PeepCode, ThoughtBot, Intridea, EngineYard, and Pragmatic Programmer. There are many more of course. In the Ruby ecosystem you'll often find these opinions lead to "more than one way to do it". Some examples that we're discussing at my company relate to comparisons of RubyGems/SlimGems, MRI/JRuby, Rails/Sinatra, RSpec/minitest, HTML/HAML, CSS/SASS, Capistrano/Chef, and many more choices. I suggest you try RoR version 3.1 and you'll find many built-in pieces that can help you, including jQuery, HAML, SASS, the new asset pipeline, and more. You can use these or swap these out as you like. Heads up that some people think these provide too much "magic" and are hard to learn all at once, whereas other people think these are solid choices based on experience. Be sure whatever books you read are for Rails 3, not Rails 2. Feel free to message me if you'd like more info. And a plug: I'm hiring Rails developers.
- TheSmoke 15y agothere are totally unfair comments to django, django committers and the django users. having used many tools such as grails, rails, django, pylons, turbogears and pyramid for different size of projects and loving them all i have a good amount of experience with these tools. whenever i needed a hand, people in #django (in irc.freenode.net) or a djangonaut's blog post or answer on stackoverflow or the django mailing list helped me out. same applies to rails as well. what you like with rails is its just being fancy and people acting like it's a miracle. it's not. it's a a tool which helps you prototype your application with scaffolding and some other nice things in a very small amount of time. so is django. complex application means complex code. this is not a django thing. it applies to every tool. do not let screencasts or posts hypnotize you as those guys are working with rails for many years. you will not develop rails apps like they do when you start over. your code will suck. you won't like your own code as you learn ruby and rails in depth and sharpen your skills. oh wait, that applies to python and django as well. :) it's not you though, we all have been there. one final note. django community does not need a reference book. because django documentation is a reference manual that contains everything a django developer needs. however a cookbook or application-type teaching book would be nice.
- araneae 15y agoI went through this "ror vs. django" thing a few months ago, and ended up picking up Django. I got the Django book and liked it and I had no problems with my actual project itself in terms of having enough "community." However, now I'm in the "figuring out how to deploy it" stage and it's been a real pain. My free webhost supports RoR and python, but doesn't have Django installed, I don't want to spend the money on a VPS, and while there's been a recent surge of beta Django hosts, none of them have worked out for me. (I.e. I tried out gondor.io, it wouldn't deploy, I asked for help in the IRC channel, someone said they'd "look into it" but never got back to me.) I'm currently rewriting my models (db structure) for Google apps since it's basically my last hope. I really love Django, so it pains me to say this, but you might want to check out RoR.
- chopsueyar 15y agoI feel with Django, only 30% is learning Django "coding" and the other 70% is the deployment. Everybody uses a different method.
- robbles 15y agoI think you'll find that any "free webhost" is going to give you a lot of trouble if you want to deploy a project built on a modern web framework. Rule of thumb: if it doesn't have SSH access, and it's not a Platform-as-a-Service like Heroku or Gondor, you're probably not going to have much luck deploying anything except PHP or static HTML. Check out webfaction.com, it's great for beginners and does most of the deployment for you.
- araneae 15y agoMy webhost has SSH access, it just doesn't give me root. It offers RoR through CPanel, which I just assumed would work, but I haven't tried using it so I don't really know. But I take your point, a VPS is really the best thing. I just can't convince my husband to let me spend money on it and I'm unemployed :P.
- gudmundur 15y ago
- ladyrassilon 15y agoThe best book I've found for picking up rails was the latest edition of the Agile Web Development book, which I actually own 3 different editions of it, for differing versions of rails. The lack of a Django book, probably has more to do with the fact of the community being more focused on tutorials and Blogs rather than cashing in, although there are a few django books out there. That said with the documentation and tutorials out there I've never felt a great need for a missing book.
- ashconnor 15y agoThere is a Django book.
- rabc 15y agoEveryone talking about RoR and Django, but what about Scala? Does that a good language with a good web framework? I experienced RoR and trying Django now, and thinking Django is much easier than RoR (Django configurations and conventions make much more sense for me), but seeing the same problems everyone talking here. Meanwhile, Scala coming and a lot of services written in RoR or Django are now build in Scala (Twitter, Foursquare).
- jemeshsu 15y agoThe size of community for Rails vs Django does not really matters in your selection as both are big enough community. Choose base on your language preference Ruby vs Python as this is where you will be coding in. Learn the basic of both and decide then which is more suitable. I started with Rails/Ruby and switch to Python.
- naithemilkman 15y agorails and django are both extensions from the ruby and python community. if you know your programming well, you'll be able to grok it in whatever framework you choose. on that note, i'll bet my last penny python's community is more vibrant than ruby. ruby is essentially dead without rails whereas python thrives quite happily without django.
- rhizome31 15y agoYes it's true that the Rails and Ruby community is very talkative and innovative. I see a lot of projects being ported from Ruby to Python and not so much the other way around. As for getting work done, in my experience Rails and Django are equivalent. The only thing against Rails is that it's slower, which can be a burden for development.
- matthodan 15y agoWho is the DHH of Django?
- saurabh 15y agoWe have GvR as a BDFL
- TylerBrock 15y agoAdrian Holovaty
- anuj 15y agoEveryone is talking about Django.. What about Zope ? Except the learning curve how does zope fare when compared to other frameworks ?
- Yxven 15y agoThe strongest part about django has always been (imo) it's documentation. The books that are out currently are simply not as good as the docs on the main site. I suspect this is the main reason there are not new books. If no one is buying django books, why write new ones? The only dig I've read here that I agree with is that the plugins vary wildly in quality and ease of use. I would suspect that's true of ror as well. (Although, I think they have more to choose from, so there's probably more diamonds in the rough)
- sharjeel 15y agoI worked for four years in my startup in which we decided to go with django; four years ago RoR (v1.2.3) and django(0.97) were almost at par. Even though RoR had a slightly bigger community, django was clearly emerging as a leader. Both were equally good but we went for django because it had better performance, the explicit style seemed better than the inflexible conventions approach, Python's one-clear-way-of-solving syntax seemed better suited for teams and django's performance was certainly better than RoR. Fast-forwarding four years and coming to 2011 with django 1.3 and Rails 3.0: I happened to work in another team to build a product in RoR from scrach. I was blown away by what Rails community has achieved while django is lagging behind a lot and is least likely to catch up. Here are a few highlights: * As a generic statement, to achieve anything in RoR, usually there is one clear and simple way of doing it. On the other hand in django you can do in many ways and most of the programmers have their own preferable ways. This is ironic considering Python endorses the very same principle but Ruby has a flexible syntax to cater different styles. * In RoR, you can find a gem for almost anything. Plugging gem in your app is usually extremely simple. On the other, comparatively there are very few usable django apps and integrating them in your django project usually turns out to be painful. * Resolving and maintaining gem dependencies across the team is a piece of cake with bundler. However when it comes to django, I couldn't find a good tool. There is virtualenv but I couldn't find it comparable with the power of bundler. * Deployment is fun in Rails. In django, it was and still is painful. * Rails has a far better support for Backend databases, including some support for NoSQL. On the other hand it was just a while back django started supporing multiple databases and that too is hackish approach. * Databases migrations in Rails are straightforward and explicity. django doesn't have anything like that builtin but does have a django-evolution app which can be really troublesome in some cases. * Django's restrictive templating system theoretically lets you not shoot yourself in the foot by imposing a new language. But having to learn a new language and dealing with its quirks sometimes makes you pull your hair. Rails approach of embedding Ruby in templates is much more powerful and practically useful. Sure you can override templating systems in both frameworks but defaults are the ones almost everyone uses. * There are very few hosting services specifically tailored for django. But Rails community boasts services such as heroku which save you so much time that a django fanatic cannot understand. * I haven't seen testing in Rails in depth but from the bird's eyeview, automated test-cases in Rails seem much more powerful than in django. I might be wrong here. * Rails has much better documentation and a much stronger community. Compare the Rails and django books on Amazon, questions asked on SO, blogs, tweets, everywhere Rails now dominates. Its just that I really love Python and prefer it much more over Ruby. Even then I'll probably completely switch to Rails.
- swiharta 15y agoThere are in fact more books focused on Rails compared to Django, and this logically reflects the inferior documentation of Rails compared to Django, necessitating and creating a greater market for additional documentation. This market doesn't exist so much for Django not because of the lack of interest in learning Django, but because the documentation is so good. End of that story. As for the greater perceived online presence of the Rails community, I think this reflects two things: 1) Greater confusion among Rails users, who as a general group seem less technically inclined "on the whole" (there are obviously a ton of brilliant Rails developers as well). In general, Rails users want things to be pre-configured for them, and therefore never really learn how things work under the hood, and are thus ill-equipped to make simple changes to their own apps. 2) Greater Apple-like fanboy-ism among Rails users, which takes on a religious fervor with people thinking they have met salvation, and it makes them feel special. They love to evangalize about it, and this personality trait in part the perceived greater popularity of Rails. That said, both frameworks are obviously still very popular and effective at building web applications. Try both and go with whichever one you like better, and stop fretting about whether you've made the "right" decision.
- philipkimmey 15y agoFrankly, the discussion below turns quickly into bickering, but in response to your question, in my limited experience I think you've hit the nail on the head in terms of the size of the community, though I think that has more to do with the prominence of 37 signals etc and less to do with any technical superiority. I personally prefer Django for a number of reasons though I've also been impressed by RoR in my dabbling. active record's migrations are nice, and the ease with which rails let's you write dynamically changing forms and various other niceness is really great. Technical questions aside, I think RoR is the default web framework. At general hacker type meet-ups like Startup Weekend, Rails is pretty much the default framework to work in as more people are familiar with it. Django is wonderfully well structured and literally just about anything can be accomplished elegantly by subclassing this or that. As you said, the difficulty comes in figuring out what and how to fill in those gaps, which more often than not includes heavy use of grep and browsing around the Django source. I think you'll be fine with whichever you choose. Learning new languages and frameworks is enjoyable, so try some rails and see how you like it. Smart people and great projects have been done with both.