r/djangolearning • • Oct 28 '21

Resource / App To all of the Django devs struggling with Class-Based Views (CBVs)...

167 Upvotes

I've seen a lot of people on here and /r/django struggling with CBVs recently.

Just a reminder that you *do not* need to feel obligated to use CBVs. In real-world projects, the ratio of FBV-to-CBV is essentially 50/50. CBVs are not objectively better or worse than FBVs, but they can be very difficult, especially for beginners. If you are struggling with CBVs, there are a couple things to consider:

  • First, if do you choose to use CBVs there is a very detailed resource for familiarizing yourself with their intricacies: https://ccbv.co.uk/

  • Second, there is nothing unusual about struggling a bit with CBVs. They really can be complicated. Consider using FBVs to start with until you get more experience, or even skipping CBVs altogether (except if you're using DRF's ViewSet, for instance). I encourage you all to read through this excellent guide by Luke Plant (one of Django's core developers) about why FBVs may be the better approach to Django Views. Even if you don't completely agree, he provides a number of useful insights and advice: https://spookylukey.github.io/django-views-the-right-way/


r/djangolearning • • Jan 02 '26

I Need Help - Question is learning django worth it?

Post image
131 Upvotes

I am making backends in django and learning drf but I've seen people on youtube scrap it.

I see a lot of hype around newer stacks like fastapi and node etc, but django still seems solid for real-world, production apps.

Curious to hear honest, real-world opinions.


r/djangolearning • • Jul 27 '20

News Welcome - Please Read

115 Upvotes

Welcome to /r/djangolearning!

I took over moderation of this subreddit several months ago after noticing that the existing mods were no longer active on Reddit and many posts were getting caught up in the auto-mod filters. Since that time I have approved various posts that got caught up by auto-mod, but had not really found the time to do much else.

Today we have new post flair, a slightly new look (clear your cache), some subreddit rules, and a wiki with resources for beginners.

I welcome additional ideas and recommendations to make this subreddit even more beginner-friendly and useful. This subreddit was a lifesaver for me as a beginning with django, and I want to ensure it continues to help those new to django.

Thanks to all of you who contribute on /r/djangolearning! The wealth of knowledge you all share here makes a big difference, and I know it is appreciated even if sometimes it can feel like thankless work.

- /u/pancakeses


r/djangolearning • • Aug 22 '26

Resource / App Backend web dev roadmap with python

Thumbnail
gallery
109 Upvotes

I have been using python for 1 year and half, still there are many things i should dig in so i planned out this road map using claude , everything that needs to be known as a python backend dev. Happy to share the file with anyone who is interested.


r/djangolearning • • Jul 08 '26

I Need Help - API / DRF Feeling imposter syndrome after "Django for APIs"—is relying on Concrete Views (ListCreateAPIView) bad practice?

Post image
95 Upvotes

Hey everyone,

I just finished Django for APIs and I'm starting my own projects to escape tutorial hell.

The book exclusively taught DRF's concrete views (⁠ListCreateAPIView⁠, etc.). I realized I've never actually written a raw ⁠APIView⁠ or manually used ⁠Mixins⁠.

Is it bad that I only know the "top-down" way? Will I hit a wall in the real world, or are concrete views actually what people use in production?

Thanks!


r/djangolearning • • Mar 31 '20

Launched my First Site Today Using Django

90 Upvotes

r/djangolearning • • Oct 13 '24

Something happened

Post image
79 Upvotes

Not too sure how and why but it’s up ish lol Next pic will be phase 1 release and link

Aiming for 25th Dec


r/djangolearning • • Apr 21 '22

Resource / App An AI tool that makes learning Django online much easier

79 Upvotes

r/djangolearning • • Oct 07 '20

Kindly stop trolling people asking for help

75 Upvotes

Good afternoon,

Could I please encourage you not to troll people asking for help, django is really not easy to learn, so people come here asking for help. The problem is, that downvoting posts because you think the question is beneath you is really not a nice thing to do when someone is already stuck on a complex problem. You had to learn at some point and most likely came either here or to stackexchange to get some answers. This subreddit has become a very unpleasant place to be of late when it used to be an excellent resource, it use to be stack exchange that was known for nasty comments, but now it's reddit. There are plenty of places to leave shitty comments if you are in a bad mood and want to take it out on someone, but please, if you don't want to help, then just move on, don't leave unhelpful comments like "read the docs" or "do the tutorial", and don't downvote, just move on, everyone needs help sometimes.


r/djangolearning • • May 20 '22

I Made This I built an appointment scheduler for my school using Django and Bootstrap

Post image
70 Upvotes

r/djangolearning • • Mar 19 '21

I Made This Just created a django todo app

Post image
66 Upvotes

r/djangolearning • • Sep 19 '20

I Made This Made this Twitter like website using Django. My second Django project.

62 Upvotes

r/djangolearning • • Nov 12 '20

I Made This Finally my Django Crash Course for beginners is here, a full tutorial of 3 hours where I cover everything from the beginning to develop your first website with Python! We will develop a website from scratch where the users will be able to purchase items from your store

Thumbnail
youtube.com
60 Upvotes

r/djangolearning • • Oct 28 '25

Discussion / Meta The State of Django 2025 is here – 4,600+ developers share how they use Django

57 Upvotes

The results of the annual Django Developers Survey, a joint initiative by the Django Software Foundation and JetBrains PyCharm, are out!

Here’s what stood out to us from more than 4,600 responses:

  • HTMX and Alpine.js are the fastest-growing JavaScript frameworks used with Django.

  • 38% of developers now use AI to learn or improve their Django skills.

  • 3 out of 4 Django developers have over 3 years of professional coding experience.

  • 63% of developers already use type hints, and more plan to.

  • 76% of developers use PostgreSQL as their database backend.

What surprised you most? Are you using HTMX, AI tools, or type hints in your projects yet?

Get the full breakdown with charts and analysis: https://jb.gg/wi1359


r/djangolearning • • Jun 07 '22

Discussion / Meta The Django Beginner Learning Plan I Wish I Had

56 Upvotes

Why do you want to learn Django?

There is no perfect framework. If you’ve invested several months into learning Node.js or Serverless web apps and are consider switching, I highly recommend you stay on your current course! Not to say I believe in the sunk cost fallacy, but the fastest way to build apps is to use the technology that you know best. Unless you’re creating services with hundreds of thousands of users, you will be able to build your project no matter what tech you choose.

Remember, for professional development (hobby aside), time is better spent building product rather than learning new tech. Having something to show for your effort is 10x more powerful that being able to explain nuances of a certain tech in a workplace.

* If you want to work at small startups, many, many, many are now using Node.js/React/Typescript stack. I highly recommend exploring that option if you have the freedom and time to.

Software Companies using Django

Instagram, National Geographic, Mozilla, Spotify, Pinterest, Disqus, Bitbucket, Eventbrite, Posthog (YC)

Principles to building products with Django

Product-first, tech second

Mock up what you want to build and decide on the features before you start building and then figure out how to build it. This is how jobs are, where you constantly have to learn how to accomplish a task, rather than shape the tasks around your current ability. Too often I see developers that decide which features to build based on their current ability, this fixed-growth mentality will hurt you in the long run. Your goal is to get to a point where you get product requirements on something you haven’t built before and you can go off and build it.

Ship Quickly

In order to move your life forward, you need to ship products quickly. If it’s a side project, glue it together, if you’re working at a startup, do the minimum amount necessary to get it out the door. Why not spend another few days polishing your code? Because no one might use it. You don’t know the value of a project or feature until someone uses it and adding the polish and sacrificing your time might be a waste of your time.

Low Effort, High Impact

In order to move projects quickly to the finish line, you want to map out tasks by effort and impact and do the tasks that require the least effort and have the most impact first. Don’t even bother doing the tasks that are in high effort, low impact.

What’s Django good for?

Apps with a lot of data-processing

Django is great for building web apps with heavy data processing services, AI engines. In my opinion, it’s the best option for creating Saas apps and other info product tools.

Community

It’s got a strong community that’s both very collaborative and loves to help. Most technology problems that you face have already been solved for you and are a few google searches away.

Convention

It’s got strong conventions and many resources on best practices to guide you on how to build good software.

What’s it bad for?

Crypto

It’s not compatible with anything crypto or web3. Use Rust for your blockchain code and Next.js and Vercel for front end code.

Mobile development

Mobile development in startups is mostly concentrated in React Native these days, big corps use Swift and Java.

Not enough convention

If you prefer even more convention than Django, you may want to consider Ruby on Rails. Ruby on Rails has an even faster setup time than Django, though it is less performant.

Weakly-typed

If you feel that you need a strongly typed language with faster load times, Node.js/React/Typescript may be your weapon of choice. Many YC startups have now adopted this stack. It’s the “millenial/gen-z” stack of choice.

Start With

Django Tutorials - skip over templates section

Django Rest Framework, Django CookieCutter

Use an auth provider like Firebase (controversial opinion)

Django has an amazing library called django-allauth. Great security, strong opinions on convention, and has built-in features like social login, etc. I recommend using an auth provider like firebase to skip the learning on this if your job doesn’t require it because auth itself is fairly complex and you might sink weeks into learning something that you can abstract away using a service.

React Tutorials (Skip Typescript)

Many Django people are learning React but the favorite is still to use the built in templating language. There are many websites that still use django-templates, but with the info that we have now, it’s a decent long-term bet to invest some time into learning React.

New apps being made in Django use Django backend as an api and React SPA to connect to it. You’ll have 2 advantages doing it this way:

  1. Job opportunities, most companies are starting with or migrating to React, startups and big corp alike. It is the most popular frontend technology today and still growing at breakneck speed.

  2. You can take advantages of the innovation in the React ecosystem, like Tailwind! Furthermore, if you decide that you hate Django (inconceivable!), you can always swap out the backend only and keep the frontend.

Cronjobs with Celery and Redis

Celery has a steep learning curve but even large companies use it, so it’s absolutely worth learning.

Databases

Don’t waste energy on this decision. Postgres. Next.

Sample Projects - increased complexity for both Django and React

  • A communal job board app, let anyone submit a job (without creating an account) and display all the jobs in a single page.

    • You’ll need a single POST and GET request in your backend and learn how to use React Tables and CSS styling.

    • Welcome to deploying Django apps, which are famously a pain. Get through it, make it work, and document the process so you don’t waste time on it again.

  • A forum, similar to indiehackers.com, where users can create an account and post links and have conversations.

    • You’ll need a few requests in your backend and be able to handle the auth flow. You’ll also need to test your app! Make a few user accounts by yourself and test the flow before inviting your friends to have conversations with you on the app. Write a few tests, mostly integration tests.

    • You’ll have to learn how to sanitize data input and make product decisions on how to render text in your forum. How will you handle links, swear words, limit character count, etc.

  • Web Scraper with an email notification system.

    • In my opinion, python is awesome to build web scrapers on. String parsing and scripting are its strong suit. Scrape some websites on a timer using a cron job and notify people by sending them an email.

    • Exercise your creativity on this one, this is an intermediate level project.

Reuse code as much as possible

Copy and paste your POST and GET Requests, your React Components, tests, etc.

Resources

Blogs

  1. Simple is Better Than Complex

  2. Real Python: Python Tutorials

Youtube Channels

  1. Dennis Ivy

  2. Corey Schafer

  3. JustDjango

  4. Very Academy

  5. freeCodeCamp

Twitter Accounts

  1. Carlton Gibson (@carltongibson)

  2. Jeff Triplett (@webology)

Edit: If anyone needs a more readable version


r/djangolearning • • Jun 22 '21

After my life long love of Django - last week i published a book on Django 3

52 Upvotes

With a big smile on my face i can finally say "Django 3 for Beginners" is published!

The books title is: "Django 3 for Beginners". In this book i will teach you the Basics of Python 3.9! I will teach you Django 3 and how to Deploy your Django App to Google Cloud (Serverlessly)!

You can buy it on Amazon: https://amzn.to/3c5mKuf

Update: It's currently Nr. 1 Treding in "New Releases"! I'm so happy you can't imagine :D


r/djangolearning • • Dec 17 '18

My second website using Django. My wife's portfolio.

47 Upvotes

Hey guys.

Just wanted to get some feedback for my second project.

This time it is portfolio i made for my wife.

https://austeja.art

Some screenshots from admin:

If you have any questions let me know.

Many thanks!


r/djangolearning • • Jan 13 '20

Top 27 Python Django Project Ideas - Master Web Development with Python !

46 Upvotes

Learning the concept of Python and Django is a great experience. But only theoretical learning is not enough. It is very important to implement our theoretical knowledge on some real-time projects and for that, you need project ideas.

There is no better way to learn Django or any other framework than by working on some real-world projects. Projects are essential to make learning easy for us. These projects will help you gain real-world experience and make you job-ready.

I hope that your basic concepts of Python and Django are clear. But, in case if you want to revise the concepts of Django, we have 50+ Django tutorials to master the framework.

Today, we are sharing some interesting Django project ideas to gain practical knowledge of the framework. Read More


r/djangolearning • • Mar 15 '21

Build These 5 Django Projects to Improve Your Skills

45 Upvotes

Here are 5 different projects you can build using Django to improve your skills. The first project is really simple, and then the other projects will build on the things you already have learned while learning even more.

Project 1 = Blog
Project 2 = Note taking app
Project 3 = Django Rest Framework (Todo app)
Project 4 = Social network
Project 5 = E-commerce website

I made a little video (4 min) where I talk about these five different projects and add links to where you can find tutorial for each of them.

Interested in watching the video?
https://www.youtube.com/watch?v=jcN7b7vJo5I


r/djangolearning • • Jul 24 '19

[Book] Tango with Django 2 - Now Complete!

42 Upvotes

Hi! I'm David Maxwell, one of the authors of Tango with Django. We've been working incredibly hard for the past two months or so heavily revising our Tango with Django book to work with Django 2.0, 2.1 and 2.2. Happy to say that it's just been completed! We have also worked very hard on tidying up the narrative -- the book flows much better, it reads better, and everything is now up to date!

For those of you who are interested, we've published it on Leanpub, and we've actually got a special discounted coupon for the first 50 people who would like to get a copy. You can get a discounted copy at https://leanpub.com/tangowithdjango2/c/pnias5Fe1gl9 -- first come, first serve!

Wishing you all the very best! David


r/djangolearning • • Jul 16 '26

Discussion / Meta What’s a Django feature that felt like a absolute "cheat code" when you finally discovered it?

40 Upvotes

Everyone learns the standard ORM queries, basic class-based views, and how to map URLs early on. But Django is *huge*, and there are so many built-in utilities buried in the docs that completely eliminate the need for third-party packages or complex custom code.

For example, when I finally discovered `F()` **expressions**, it blew my mind. Being able to update a database field based on its current value directly in the DB (like `F('shares') + 1`) without pulling the object into memory and risking race conditions felt amazing.

Another one is utilizing `select_related` **and** `prefetch_related` to instantly drop an app from 150 database queries down to 2.

What’s that one underrated Django feature, decorator, field option, or management utility you stumbled upon that made you think, *"Why wasn't I using this the whole time?"*


r/djangolearning • • Aug 12 '20

I Made This My first django project is now live - NoirDB, an online Film Noir database!

39 Upvotes

Happy to announce that I just deployed my first django project - NoirDB, an interactive online Film Noir database.

The address is -- noirdb.com

I've spent this year learning full-stack web development with a focus on python + django, and this is my first-ever project. The front-end was done with Bootstrap mostly, just so I could get something up & running; my main interest is python / django back-end work.

You can simply visit the site and search for movies, or (and this is the fun part) create a free account, which allows you to write reviews, mark movies as 'seen' and as 'favorites', and also build a 'watchlist' of movies you want to see.

Thanks for checking it out, fellow django-learners!


r/djangolearning • • May 19 '21

Resource / App Learn how to create production-ready Django code in seconds using Imagine.

38 Upvotes

We are thrilled to announce the launch of Imagine.ai - a platform where you can generate production-ready Django code in seconds.

Just set up your project preferences and define your data models in our UI, and we generate a code base (including working REST / GrahphQL APIs), that is fully tested, dockerized, linted and more - instantly. Our goal is to generate clean, well-written Django code that is at the level of an experienced developer and just works out-of-the-box - we believe our platform can help you learn how to create reliable apps using Django and save time when you’re building a Django app!

We’re still at an early stage and we're working hard to build a platform that’s useful & interesting for developers 🙂 - so we’d appreciate all the feedback you can give us! Please reach out to us through our Discord or Slack with any questions, suggestions or even just learning more about the platform.

Also, learn more about our competition where you can win a cash prize by building a Django project using Imagine.


r/djangolearning • • Feb 10 '21

I just started a Youtube channel about learning Django in a practical way and my first video is about Token Authentication. Feedback is greatly appreciated. Please be harsh!

37 Upvotes

Hello everyone, I've been using Django and React at work for two years now and decided to start a Youtube channel about things that were difficult for me.

This way I can keep it as documentation for both me and new hires and I can also share it with the Python/Django community.

I'll be posting at least one new video each week. This is my first time making tutorial videos so feedback is greatly appreciated.

Here's a link to my first video: https://www.youtube.com/watch?v=udVI5amk8Ys

If there's a topic you're interested in, please let me know I'll try to make a video about it.