Ask HN: What did you make in Django?
A while back I created the Django Hackathon Starter [1] which was aimed to be a general boilerplate providing several out-of-the box OAuth hooks and API examples. It hasn't been updated recently, but was a pretty fun project to work on at the time.
I made a bunch of things in Django as side projects, but unfortunately haven't managed to launch anything. One reason is that I don't have enough time due to my day job, and another is that I loose interest when these side projects become hard :-/. But anyway:
- A version of caniuse.com, but for modern C++
- A website for going out in my city, scraping the web for events and displaying it all in one place (e.g. 80s night here, techno there, ...)
- A real life bugtracker for my city. There is a pothole / ridiculous intersection / missing playground? Open an issue! I think this one especially has potential.
Django makes it easy for data-centric sites. Just whip up a few models and templates, and start adding data using the admin interface, or by scraping.
I built a dating site with django.
It's no longer maintained, and most likely not functioning, but still running on Heroku. (tangerine.herokuapp.com)
Here is what it looked like : http://imgur.com/a/aOgf1
I've built a couple dozen projects in Django, mostly closed source or for private companies. It's a really powerful framework for web apps, APIs (with DRF), and the ORM is very quick to get a prototype running as well. Django is awesome.
I created the life-goal sharing site bucketlist.org in Django about six years ago. Super fun side project. Maintained it myself for a couple of years, then sold it to some passionate investors who have done a good job keeping it alive and thriving.
I've also created several university web sites and intranets, worked for years on a journalism project/publication, and am currently working on a massive Django-driven portal for an arts college in California.
Not something I created from scratch, but I had the chance to work on a very large Django codebase at TVSquared.
We ended up taking out most of stock Django and only using the router and controller functions.
Why did you do that, and what did you replace stock django with?
We only used the router, handler functions and the template engine. We didn't use any models (because we used the MongoDB api directly) or the Object-Oriented controllers, and (if I remember correctly), fairly limited use of the fancier forms API.
So it was a fairly minimal subset of Django.
I started working on a Django project, customizing RapidSMS [0]. It worked so well, and we moved to the next iteration of SMS platform called RapidPro [1], building dashboards in Django to display data collected.
DRF+AngularJs is the killer here.
[0] : https://www.rapidsms.org [1] : http://app.rapidpro.io
We built a multi-lingual platform on top of Django (e.g. https://www.caremondo.com/en/orthopaedics/ being the main app), which was recently acquired. Apart from form-handling facepalms, the rest has been quite a breeze.
A platform for publishing fiction:
A website where you can discover educational videos:
Nothing. Its just as much of a turd as Rails is. Using flask instead for simple apps.
Would you be more specific as to why you prefer flask to django?
I looked at flask, and the code for views doesn't look much different. It does look like it's missing form and model validation. Do you use a library for that or do you not do that?
For forms, the usual solution is WTForms library with the help of flask-wtf extension glue that provides Flask-specific convenience functionality.
Flask has somewhat minimalistic core, with significantly less batteries included, compared to Django, and this gives somewhat more freedom in choices of components.
This was more true when Django was less mature (0.9x and early 1.x times), when a lot of things were much less flexible there, while Flask had somewhat more active community than it has today... but it probably still holds.
I believe, both are great frameworks. What to use depends on what one wants to build, how well it aligns with the framework's assumptions and "best practices", and one's personal affinities.