I still can’t do anything on my own on Django/How do I properly learn Django

I've completed a course on Udemy, and I've watched several multi-hour long tutorials on youtube. The problem is that I'm just watching and copying them without understanding anything. I can't create anything .

I've tried reading the Django documents but it's full of worlds I don't understand and I end up more confused than before. All the tutorials I've watched are just people building things and the viewer just follows them. How do I learn to build myself? How did these people learn it?

Right now I'm trying to recreate the Todolist app on my own and I'm already stuck and rewatching and copying again from the tutorial. I've followed and created 4 projects but I still don't know anything. It's like maths and I see the professor write 2 x 2 = 4 and so I write it down but without understanding that 4 is the result of multiplying 2 by 2. My main problem is that I don't know how any of it works, I don't know how models work or how views work, or how to get a specific outcome.

TLDR: How do I learn Django and create things on my own instead of just copying from tutorials?

11 thoughts on “I still can’t do anything on my own on Django/How do I properly learn Django”

  1. read the official tutorial
    write down every word that you don’t understand
    draw a map that connects all files inside a django project and explain how they are connected

  2. Learn a little first about WEB (HTTP, Forms, HTML, CSS) and databases (SQLITE, SQL, data-model). And then, follow the tutorial until you understand all the code that you wrote.

    I only learned Django fast back then (2007) because I already learned databases and web before.

  3. Sometimes a good way to learn is by breaking things, or put another way, taking things apart in an unstructured manner, and put yet another way, experimentation. Say you want to learn more about how models work. You could:

    * See what happens if you build a model that doesn’t inherit from django’s base Model. Why doesn’t it “work” ?
    * What happens if you add fields that aren’t based on django’s fields. Why don’t they show up in the database?
    * Build a very simple model, delete all the fields, but don’t migrate the model. What happens in your code?

    etc. Another approach is to take an existing, working app, and break it in interesting ways – delete/ rename fields, change their parameters, etc.

    There’s no harm in experimentation, and the only one who will be affected in any way is you – so go, get your hands dirty, don’t worry about creating the perfect app.

  4. Get a general overview of how things work in Django. Then focus on connecting them together.
    Taking a step back and looking at just the flow of how things work will help you.

  5. Start a project yourself, if you hit an obstacle go search. If you keep following tutorials copy and paste you’ll be stuck in tutorial hell. Go create something yourself. Learn some frontend, too and make an app.

  6. I had to do the tutorial like 5 times. Seriously there is a lack of beginners content. The content that is out there is written for people who have made websites using other technologies. I’ve heard good things about Django Girls, check that out

  7. Put Django and Python in a box and close it it for a while. Switch the PC off. Sit down and ask yourself what exactly you want to achieve. There is no framework in the World that will pull the ideas directly from your head. You need to have a goal. Do you want to write a dating app or maybe some booking app? What do you want to create? When you have formed idea in your head, grab that pen and start writting it down on the paper. Write down the requirements that describe what your app should do. How does it look like? How do you move around your app? What type of data you want to store in the database? Create skeleton of your project without using any code. When you have that ready, start your PC and try to create your idea using Django and Python. You can “re-shape” the app that you have created with the Django tutorial into your own app. Don’t worry about difficult things. Don’t bother with super clean code, design principles, perfect algorithms execution, fancy UI, hardening the security of your app and all these many other things that everyone online says are FUNDAMENTAL. There will be time in the future for that. For now just create. Don’t worry about not knowing things. I will tell you a secret just keep it between both of us ok? – Every single programmer is spending 90% on Google and 10% on coding. Just build things for now. Polish them later. Crawl, walk, run…

  8. Think of a project you want to do that’s marginally different to the tutorial. As you work through steps in the tutorial, work out how to change their example to meet your needs

  9. Django is great when you learn web development because it gives you everything to start with and you only touch higher level code so you never have to touch anything lower level but you cannot learn until you see the bottom and see the lower levels. You can start to learn Django and mess around but I think something that may help is learning something like node js or flask first because they’re more lower level and you’ll see it so when you start writing Django and you can write higher level code easier because you know what’s going on under the hood. Hope that makes sense

  10. Django has too high of a learning curve that we need to fix

    Probably by better errors and warnings that tells developers what they’re doing is right or wrong so they’re not left confused

  11. Google the words you don’t understand while reading the documentation, recurssively.
    Note that the Django documentation is available in multiple lenguages if you need it.


Leave a Comment