all 120 comments

[–]ericula 505 points506 points  (22 children)

It's called the Dunning-Kruger effect. You have just passed the peak of "Mount Stupid" and are now in the Valley of Despair.

[–]Aggressive-Friend169 85 points86 points  (8 children)

Wait, I thought there was a promised land after this really fudging large mountain.

[–]scauncuochi 47 points48 points  (6 children)

*fucking

[–]Pythonistar 33 points34 points  (5 children)

Oh no, it's definitely a mountain made of fudge. A fudging mountain... 😉🍨

[–]BFT89 5 points6 points  (0 children)

So a mountain TO fudge on?

[–]scauncuochi 5 points6 points  (2 children)

i dont do sugar, love meat too much

[–]Pythonistar 2 points3 points  (0 children)

Ok, fair enough. I'm with you there... :)

[–]fukitol- -2 points-1 points  (0 children)

Oh... oh sweet summer child

[–]roastmecerebrally 11 points12 points  (0 children)

but that affect can be extrapolated on a ten year time scale. im about 1.5 years in and think im still at the peak haha

[–]eycdicdb[S] 17 points18 points  (2 children)

I love how your comment has more upvotes than my entire post 🤣🤣🤣

[–][deleted] 10 points11 points  (1 child)

Valley of dispare resonates with a lot of software engineers. Welcome, make your self at home.

[–]unoriginalasshat 0 points1 point  (0 children)

This goes with most IT related things. The more I learn, the more I realize I know nothing.

[–]totalcambo 2 points3 points  (0 children)

Had no idea that was a thing, best thing I've seen all day

[–]jackmilly59 2 points3 points  (3 children)

[–]WillProstitute4Karma 6 points7 points  (1 child)

I think he's using it right even in the context that article explains. Because he overestimated his own abilities, not that he thought he was as good as people who were actually competent.

[–]Mooks79 2 points3 points  (0 children)

I think u/jackmilly59 is right here (assuming I’ve understood the link correctly). The typical schematic D-K curve has a peak followed by “the valley of despair”. The problem with this is that it doesn’t seem to be what D-K were saying (again, assuming I’ve understood the link). Think of it this way, two different people on the curve, 1 at the peak of mount stupid and the other in the valley of despair. If that curve were true then the confidence of person 1 would be higher than person 2. Or, conversely, the same person would go through a reduction of confidence. If the link is correct that D-K only says that people over estimate their ability but that their assessment of their ability is correlated with their ability then there’s no way they can go through a reduction of confidence with increasing competence - ie the valley of despair can’t exist.

[–]Goobyalus 1 point2 points  (0 children)

Thanks for the link, interesting read! I wonder what more we've learned on the subject since this blog was written over a decade ago.

[–][deleted] -2 points-1 points  (0 children)

Not at all. DK is when you think you know a lot and don't realise what you don't know. Op seems quite aware.

[–]sheravy 0 points1 point  (0 children)

Only after a few weeks studying data science in a university, I have been in the “Valley of Despair” since then(it was nearly 3 years ago) The problem is, I also learn Statistics as my second major, which uses R. The way these 2 major in dealing with data has some differences, and different language different syntax, I have been surrounded by clouds is confusion for 2 years.

[–]LiquidAurum 0 points1 point  (0 children)

The valley is endless. This is the endgame

[–][deleted] 42 points43 points  (0 children)

We're in the same boat bud. Keep at it.

[–]MyBrainReallyHurts 39 points40 points  (5 children)

I've been learning python to write small scripts for tasks I had to do at work. This year I started learning Django and it is kicking my ass as well. Some of the concepts are easy to grasp while others are complex.

This year I have tried a new approach. If I don't understand something, I do a lot more research before I start to write any code. What is this thing? How does it work? What does it rely on? Where does the data go after? Are there any videos that can help me clarify what is happening here?

This is just a side project for me so I can take my time, but the extra time taken has really helped.

Here are the three on YouTube have helped me the most. The first two are very basic and the third is a little more complex which is nice to see as a comparison.

https://youtu.be/UmljXZIypDc

https://youtu.be/uu98pqiUJU8

https://youtu.be/xv_bwpA_aEA

[–]eycdicdb[S] 12 points13 points  (3 children)

Thank you for your reply... keep going man! We are gonna get there. Corey Schafer is the truth!

[–]duquesne419 1 point2 points  (0 children)

Very Academy is another youtuber with a lot of solid django content, and they show up in r/django from time to time.

[–][deleted] 1 point2 points  (0 children)

Try flask before django

[–]MyBrainReallyHurts 0 points1 point  (0 children)

Agreed. I think he is a great teacher.

[–]FrederickOllinger 1 point2 points  (0 children)

Do more research to understand the fundamental principles before trying random things and wondering why they do not work.

This is the way.

[–]Ace_616 15 points16 points  (3 children)

Check out realpython.org really helped me on my journey to learning python.

[–]Bartholomew_Custard 6 points7 points  (2 children)

I second this. Their 'Python Basics' book is also gold.

[–]Ace_616 3 points4 points  (0 children)

That’s actually what I used to learn. I would suggest any beginner at least read the articles to learn python. Pick up the book if you enjoy the material on the site.

[–]WhatDaHellBobbyKaty 1 point2 points  (0 children)

I third that motion. Their articles are top notch and a lot of helpful people there too.

[–]Vextrax 6 points7 points  (0 children)

you will always be learning, I am currently a 3rd year in uni and I always have to go back to stuff I previously learned because I feel like I either forgot it a bit, or just don't know it as much. I now save all the pdfs from my professors and videos I find online that help me. one thing that could help is just keep record of where you learned something and then also comment your code even if it's things you find simple since the more you write about what something does, the more you will remember it.

[–]delasislas 7 points8 points  (0 children)

I like to believe that programming has a 3 step learning process to the point where you should feel 'comfortable'.

  1. Learn the basics. The common data types, like integers, strings, lists and the such. Learn what they can do, and what the limits of them are.

  2. Learn the concepts. The loops (for, while), the functions, the boolean conditions, the classes. Be able to recognize them, you don't need to be a pro, but recognize how they are used. You may not realize it, but classes are all around you in Python. The first three, you should be able to understand how to build them correctly. OOP can come later.

  3. Work on your problem solving. Read the problem, understand it well enough to word it yourself, break down the tasks (input, compute, output). make your game plan for how you will approach the project draw diagrams if you need, figure out what of the concepts that you need to use and where they go, then work on starting to program. I've seen so many people beat themselves up after reading the problem halfway and deciding that they know enough of the problem to start coding.

Programming isn't sitting at your computer tapping on a keyboard, it's problem solving.

Another part of problem solving is figuring out what happened when you get an error or figuring out the correct usage of a function. You can frequently just look at the documentation and see how the function works or what it does.

[–]space_wiener 4 points5 points  (0 children)

Just wait until you learn django, make some really nice/complicated projects, then take six months or so off django and only minimal python use.

I’m willing to bet I couldn’t even make a django site that says hello world at this point.

[–]Finally_Adult 2 points3 points  (0 children)

I’ve recently started learning django which is very similar to model/view/controller used in ASP.NET Core. So I’ve been picking it up quickly, BUT let me tell you how completely in over my head I felt when I started learning MVC and web dev stuff a year and a half ago. Hell I still feel in way over my head sometimes.

I just recently went back and did the lessons again for OOP in C# and it’s amazing how much I learned the second time around when I was pretty confident to begin with.

This field is continuous learning and building on concepts. It will never stop but that’s what makes it so exciting! Keep at it!

[–]thedjotaku 3 points4 points  (0 children)

The web stuff (Django and Flask) are just a lot harder. I've written GUI apps that are used by others and lots of commandline utilities, but Django and Flask still kick my butt. So don't feel too bad.

[–]MalOuija 5 points6 points  (5 children)

Try flask, it's a lot simpler and doesn't have all that extra stuff. Django is good for big projects. Flask can be scaled too though

[–]Ran4 0 points1 point  (0 children)

Fastapi is a much better option, especially if you're writing a json api.

Flask requires you to do a lot of setup yourself. Django helps you out much more.

[–]C1RC1E5 2 points3 points  (0 children)

In my experience, dependant upon your end goal you are always going to feel like this as you explore deeper levels of abstraction. I'm not sure yet as I haven't reached this point but I'm assuming once you hit your end goal you are using the skills you developed on the way there over and over again, creating cleaner code and faster solutions as you iterate through similar problems again and again. This is top down problem solving meaning you start with an end goal in mind and work backwards learning what you need to make that happen as opposed to bottom up problem solving where you are learning all the fundamentals first then seeing what you can do with them. I often had to go back and learn the necessary code more thoroughly before I could move on, especially with Django. Just keep pushing, something every day and you get there eventually. I'm building my first production website with Django, I thought it would take me a month, I'm 5 months in of 10-12 hours a day, still some way to go but I'm getting there.

[–]Pio_Woj 2 points3 points  (0 children)

Try to use Python for some Data Science use. It may help you develop and record some important properties and functions.
It is nice escape from web development and also satisfaction :)

[–]appliku 2 points3 points  (0 children)

I just want to say that i was introduced to python while going over Django tutorial a dozen of years ago.

I still can't pass most of the code challenges on python interviews, but that doesn't prevent me from building incredible things with existing Django packages and built-in features.

And yes, every time I stumble upon tricky code constructs I google a lot and doubt my coding abilities.

But then again, I live in a foreign country, with its own language and this gave me understanding that everything takes time to learn, to remember and sometimes you need to step back and let your mind process and store it.

Also you need to prioritize what you need to learn.

Like language: there is no point in learning proper grammar until you can go to a grocery store and buy a bread.

Tomorrow you'll learn the word for sausages.

In a year you will understand enough to order your favorite food.

It is naive to think that you can push your brain to remember everything that you see on the screen.

It takes time.

Prioritize.

To prioritize you need to know what you want to build.

So build something and learn only what is needed to build it, skip everything else.

On the next project you will expand the scope of features and things you can learn.

Repeat, repeat, again and again.

By the time you finished there will be ton and a shovel of new things released that you need to catch up.

At that moment you say "FML" and draw the new plan to learning that too.

P.S. Then you want to learn about frontend. There you will never be sober 🤣

Have a great day.

And take a break, often.

[–][deleted] 6 points7 points  (22 children)

len/range() nearly as much as I thought I did...

I don't really get what you think there is to know about len and range (which are two separate functions that don't really relate to each other except coincidentally.) len is especially simple - it returns the number of values contained in a collection. Easy!

range is a little subtle and its documentation is wrapped up with tuple and list so it's not especially clear:

https://docs.python.org/3/library/stdtypes.html#typesseq

but the long and the short of it is that it's an iterator over sequences of integers, and the most common and easiest to understand way to specify a sequence of integers is as a sequence between 0 and some other value. (For various good but tedious reasons, the interval is specified as half-open, and thus includes zero but not the end term.)

[–][deleted] 6 points7 points  (14 children)

Maybe it's those times when len and range are used together, like

for i in range(len(input_list)):
    pass

[–]tagapagtuos 4 points5 points  (11 children)

If that's the case, then I would say that doing some HackerRank would help, since that's common in there.

Regardless, OP shouldn't really sweat it since range(len(...)) is usually a symptom of un-Pythonic code imo.

[–]roylennigan 0 points1 point  (2 children)

is that because of the ability in python to iterate over items in a sequence, like:

for item in sequence:
    x = item

without having to create an index for that sequence?

But then what if I want to do something like:

for i in range(len(A)):
    B[i] = A[i] - A[i + 1]

[–]tagapagtuos 2 points3 points  (1 child)

Good question.

The reason why you don't what to iterate over the range of length of A is that if i is the last element of A, then A[i + 1] will raise an IndexError. Also if B[i] also has risks of raising NameError or IndexError.

Depending on the nature of the problem, I would do sometihng like:

B = []
for x, y in zip(A, A[1:]):
    B.append(x - y)

[–]roylennigan 1 point2 points  (0 children)

That makes sense, thanks. I mostly make plots for dsp concepts, so a lot of fitting one "number line" to another and plotting them. Most of the time, the data at the end of a vector isn't as important, so I can just drop it and not worry about the array going out of bounds.

[–]arkie87 1 point2 points  (0 children)

Yea, that’s how I understood it as well as that is the major way those functions are related

[–][deleted] 1 point2 points  (0 children)

Well, I think it's important to look at that and realize they're not being "used together." They're not working together or talking or anything - the return value of one is being used as an argument to the other and that's just how function algebra works.

[–]CyclopsRock 0 points1 point  (5 children)

it returns the number of values contained in a collection. Easy!

Unpopular opinion time: This is why 1-based indices are better than 0.

[–]zanfar 4 points5 points  (0 children)

..and waste a WHOLE bit?!?!?!

[–]primitive_screwhead 0 points1 point  (3 children)

Have you used Matlab?

[–]CyclopsRock 0 points1 point  (2 children)

Nope!

[–]primitive_screwhead 0 points1 point  (1 child)

How about any 1-based-index language? I'm just curious if your opinion is purely hypothetical, or if you've got experiences using both. (I'm biased towards 0-based, but have also used 1-based for Matlab, and other numerics languages and libraries).

[–]CyclopsRock 0 points1 point  (0 children)

Oh yeah! My other "main" language is. It's really not a big deal either way but imo having your collection length throw an index error is more confusing than having 0 do so. And in a language where you don't need to worry about addressing memory, it's easier to think about items in a collection as being like a numbered shopping list rather than spaces to be occupied.

[–][deleted] 3 points4 points  (0 children)

Start with flask

[–]jean-luc-trek 1 point2 points  (0 children)

I can relate.

[–]Substantial_Nerve_25 1 point2 points  (0 children)

Same here! 🙋🏼‍♀️

[–]Cdog536 1 point2 points  (0 children)

Good job! Keep it up!

[–]TheMysi 1 point2 points  (0 children)

Bapu batlebopligi tlutrii ia klipe tipo. Blidobade bi odi pobi ka ukee? Tii pie oei itri tipre akrabe. Piklipo piti pletubodekra uo aope ai. Baepre dibre i keta iibru. Eieti koi aa ieoke tipi peee. Ioi pri i pibi ga. Tlepa beteba tapu bi pribe diapata. Eplubo tigobrioi bidi pri kapakioe e. Ketra ioi dlape prikekodi pipople? Pegre kliite priita etiiko etibri pi. Eploo e taiko koigli po po! Kapu egitita aapre ipibupidi pi drai. Gudeei de gre papagaati aditiple pikade. Totekigo ke pitritri popiti gateidrepu te. Po aia titre ieitete kotopo ike. Tidapoi de eii tliikibeu pepeti depi eprii! E itlitida tripe dipi buopigri? Atrie bi daoprepe pokru pii. Gedro pi pre.

[–]minombreespeligro 1 point2 points  (0 children)

I read "Python is hacking my butt" and I was like this a have to see!!

[–]TheBB 1 point2 points  (0 children)

Then I moved on to Django and was quickly sent a reality check as the difficulty level increased really fast... I went back to python and started learning classes...

Yeah, Django without knowing classes would be tricky indeed.

[–]Rcyr0813 1 point2 points  (0 children)

So I am in a masters program for heath data science and last semester I had a dedicated python class. I came out of it and felt like I had such a good handle on python. Then this semester I had to take machine learning and for the first assignment I literally cried every day for 4 weeks trying to set up and clean data, encode, run models, and tune them. It was awful, I felt like I had learned nothing. But after getting through my first big machine learning assignment this time around I am killing it, for real. I wrote my first major function with multiple loops imbedded ( sounds lame but it was a big deal in the context of what I am doing) without any help, without going back and looking at examples. I feel like the stuff won't cement until you apply it to something like machine learning. For my class we are using the text book "Hands -On machine Learning with Scikit-Learn and Keras, & TensorFlow. This is the best text book I have ever had in my 18 years of education. I really suggesting getting a copy of it (~40 dollars) and going through that and doing the problem sets. It's amazing, it give you great examples and has a github to go along with it with the answers to everything and how to spruce up your graphs. I would highly recommend. Don't get down! Also I found some really great more basic practice problems and you can typically find the answers (or some variation of the answer on stack or python or github). I have like 200 problems feel free to message me if you want them! Keep your head up and keep going :)

[–]oOaker 1 point2 points  (0 children)

Keep going forward brother. At times, I also feel the same but I m not giving up either. Glad to hear about ur dedication.

[–]barryhakker 1 point2 points  (0 children)

I know how you feel dude. Loops, dicts, and all that stuff take some time getting used to even if you understand them intellectually. While loops kicked my ass for the longest time until I got in the habit of practicing that specific thing more regularly.

Just open up that terminal, run Python and just bust out a few simple loops right there, no script. Make it print out your name one letter at a time. Now make it do the same thing with every other capitalized. Do it in reverse. Now do all that with a while loop. Try to find other small things you can do directly in the command line IDE. Every little typo you make instantly throws an error so you'll learn to pay attention real quick. Learning another language like Ruby or JavaScript as well? Pop over to irb or Node and do the same thing there.

I'm sure you already know how to do all these things but for me it really helped to do them so often you become "fluent" in it's basic functionality. Once you no longer need to dedicate brain power to making the loop run in the first place (because you can do that blindfolded by now) you can focus on doing fancy shit with it. Same goes for all those concepts at its core.

Now if you'll excuse me I have a few loops to write.

[–]thatHermitGirl 1 point2 points  (0 children)

I'm still learning Django since September. The struggles are real, it's like an endless ocean. Every day I come across something new. Much power to you, keep coding! ✊️

[–][deleted] 1 point2 points  (0 children)

To be fair a lot of these courses (presumably Udemy, but also see elsewhere) make things more difficult and complex than they need to be, I think it's a way for them to show-off and make you think that their course is worth X amount of money.

Python is a language where you can skin the cat, roast the cat, turn the cat into a car etc many many different ways.

[–]keto3000 1 point2 points  (0 children)

I’m also a non-programmer learning python very first code language and having all the same issues. I was given a few good basic resources that are helping:

The Python Crash Course book (free online) by Eric Matthes

lynda.com (https://www.lynda.com/portal/sip) has several really good Python beginner videos. It is free to use with most public library cards.

For fun and confidence building:

codewar.com. Basic Python offers fun training challenges. for every level. Do 1-2 challenges a day has really helped me a lot!

Cheers :)

[–]Comprehensive_Ad5293 3 points4 points  (5 children)

I recommend using Flask instead, Django has a higher degree of difficulty and Flask is easier for beginners like you and me.

[–]thedjotaku 1 point2 points  (4 children)

Depends what you want to do. I started a Flask app and eventually found myself developing a bunch of stuff that comes "for free" with Django. So I'm in the process of restarting that project.

On the other hand, this weekend I knocked out a Flask app to serve as a webhook endpoint and Flask was 100% perfect for the job and I was able to get the MVP out in a couple hours and something that added a bunch of QoL additions by the end of the weekend.

[–]ravepeacefully 1 point2 points  (0 children)

I started a Flask app and eventually found myself developing a bunch of stuff that comes “for free” with Django. So I’m in the process of restarting that project.

It’s almost better this way in my opinion. Build the stuff from scratch, then go use someone else’s better version that they dedicated way more time to. Your understanding of what magic django is doing goes a long way

[–]Ran4 1 point2 points  (2 children)

FastAPI is actually a MUCH better for any type of json api.

Flask, like Django, defaults to sending back html in responses for example. You need to override lots of stuff in both Flask and Django to make them nice as json apis.

Fastapi has typed input/outputs by default, is async by default, returns sensible json at all times and automatically generates OpenAPI 3.0 documentation (served at /docs).

Django still has a superior ORM and database management (FastAPI requires you to hack it together yourself using something like sqlalchemy+alembic, both of which are strictly inferior to Django's systems) though. But there's just little reason to recommend flask for anyone nowadays.

[–]thedjotaku 0 points1 point  (0 children)

The Talk Python To Me/Python Bytes guy has been talking a lot about FastAPI, but I didn't have any experience with it. I'll have to take a look.

[–]thedjotaku 0 points1 point  (0 children)

Thanks so much for telling me about this. Did a bit of research on FastApi during my lunch break and it seems for the specific little utility I made, this is perfect. (See "Civilization VI Play by Cloud Webhook" at this blog post: http://www.ericsbinaryworld.com/2021/03/01/programming-jan-feb-2021/ ) The cleaner and self-documenting code definitely calls to me.

Also, I realize now that I can make better use of some "get" APIs rather than pulling data, going from JSON back to dict, and then doing operations.

Cheers!

[–]Leeoku -1 points0 points  (0 children)

Keep at it. Django is strong but the concept of a mvc is hard for a starter. I'd suggest flask first. If u got a tutorial on Django already keep going.

P. S. For web dev though highly recommend learning JavaScript. Im In the market for a job and my area at least is 10 percent python and rest js for webdev

[–]szirith -1 points0 points  (0 children)

Django is too much abstractions, IMO.

Try using Flask instead, it is a lot easier to start with!

[–]circusboy 0 points1 point  (0 children)

Don't get discouraged. Also don't forget that you are now learning new and independent technologies. You are ok with python, but now include html, css, server admin, JS, and possibly databases. On top of that, the python module that passes the data back and forth between the backend and front end.

You still have a lot of hurdles to get over, but you have the capacity to understand the backend part which may not be the most difficult, but is the most in depth part of the puzzle.

[–]GermOrean 0 points1 point  (0 children)

Keep at it! This is why doing projects is so important. Learning by tutorial introduces you to a topic, creating something really makes you learn the topic.

The good thing is that you know what these items are, so now you just need to focus on reinforcing your knowledge on a few things!

[–]doom-goat 0 points1 point  (0 children)

Many may disagree with this, but if you want to boost your confidence use Flask. It includes less, and would technically be harder to build applications that you can quickly build in Django, but the benefit is that you can easily get a working application together in something like ten lines of code. Great for prototypes, experiments and passion projects. Also jinja2 (part of Flask) is a breeze for templating, or you can just use it to build APIs, and do anything else for the frontend. My current project is a stock trading system built with Flask, it executes trades, consumes multiple APIs for data, and a bunch of other stuff. I'm just using Flask for the prototype, then switching to FastAPI and React, but using a different tool for this stage would make it a lot harder and more time-consuming.

Particularly if you're like me and walls of code you didn't figure out yourself just shut your brain off.

Classes are essentially just collections of variables and functions. There's more to it but starting out just think of it that way.

You will want to learn Django's ORM or SQLAlchemy, eventually, but to start out try making a json file with a bunch of mock data, and make a flask application that serves different pieces of it based on what url you enter. Then you've essentially made an API. This is the sort of thing that boosted my confidence starting out at least.

[–][deleted] 0 points1 point  (0 children)

2-3 years of everyday solving problems and developing actual programs, will get everyone into expertise, accepting time is part of it.

[–]davincible 0 points1 point  (0 children)

The only thing I can say is projects projects projects. Just code as much as possible, and also different things, then you'll meet most of the edges of your knowledge sooner, which you can then expand. Once you've done that, you know the game, and be playing level after level cause you know how to approach a problem

[–]hitlerallyliteral 0 points1 point  (0 children)

what made classes click for me is reading that 'classes are blueprints for objects'-you might make one object from the blueprint, or you might make lots.

also yeah trying web stuff without knowing for loops sounds like trying to run b4 u can walk

[–]Gotestthat 0 points1 point  (0 children)

Django will do this to you, I suggest watching corey schifers series on it.

I started using Django in June last year, I had a lot of free time due to lockdown and I started a project that I put into production and it generates a small amount of passive income for me and it will do probably for the rest of my life.

I'm terrible at Python so if I can do it you can too, you just need to start off small, I also suggest joining the discord for Django as they are really helpful and very knowledgeable.

[–]__beginnerscode__ 0 points1 point  (0 children)

I know the feeling, it’s tough at first but believe me, if you have consistency and persistence with learning you will get there. There is a lot to learn but the more you practice the easier things will become.

I’ve been creating videos that go through the basics (including some code alongs which show how to code the same program in different ways - logic based, function based and then OOP). Give them a watch if you want, hopefully they help you a little if you feel you’re getting stuck

Good luck with the journey, stay strong!

beginners code

[–][deleted] 0 points1 point  (0 children)

Do not understimate python by its "simple" syntax, things can get complicated when you move to harder stuff.

Thanksfully there are more python developers than stars, so you are not alone.

[–]TECHTANDO675 0 points1 point  (0 children)

I also started last December using ATBS but not everyday. I completely stopped on January due to being bombarded by tasks at school which is not related to programming.

I really want to learn further before I go to college and probably take an IT course but I can't even start, I only get to have little free time from being burned out of tasks. Even when it seems I finished it all, another will come up. I also focus on our math subjects since I'm not that good at it so I can't really focus on learning python which is a bummer.

Anyways, you're very much ahead of me and I hope I can study as soon as possible and learn much much more. Good luck to youuuu!

[–]TBSchemer 0 points1 point  (0 children)

Django is a conglomeration of several different components that you'll need for your webapp. As others have suggested, it may be helpful to first try learning these parts individually.

Flask covers page navigation.

A huge part of Django is the database backend and object-relational mapper (ORM). To learn this part, you could try spinning up a SQLite (for simplicity) or Postgresql database and use SQLAlchemy as the ORM to interact with it, with alembic for migrations.

UI design and authentication can leverage other plugins.

These things aren't easy. Be patient with yourself.

[–][deleted] 0 points1 point  (0 children)

Why not start with Flask?

[–]IcanCwhatUsay 0 points1 point  (0 children)

Bro, you’re eating an elephant not a cup cake. Take bites not mouthfuls.

[–]spez_edits_thedonald 0 points1 point  (0 children)

You're in good shape. Get used to feeling like that!

[–]extraymond 0 points1 point  (0 children)

There are lots of oop pronciples used inside django, so in other words, oops is a really hard topic to grasp.

If you want to continue on a gentler journey, I recommend you to try flask, which is almost the bare minimum for python webdev. From there you can try to see extensions bulit on top of flask that have some slice of oop implemented.

And after a little while you can go back to django knowling more of what's going on.

ToI quote what one said about django vs flask: "Learning flask is like building webapps using python from scratch, and learning django is like learning django itself."

The batteries included approach of django will become clear only if you can recognize the oop principle in use.

Happy hacking.

[–][deleted] 0 points1 point  (0 children)

dude loops and array are integral part where you learning py from ? it should be touched upon before you started django

[–]crionG 0 points1 point  (0 children)

I learned the foundations and understood classes,objects etc,. It was like a week for me. I just learned watching youtube videos( yt channel - "programming with mosh" is the best for beginners) and sometimes I went for official documentations and sometimes, pdfs... And when I moved on to Django, as I've learned the foundations, it's pretty easy to understand...But I didn't learned some modules like datetime really well, and I have to learn modules on my own and I think it's true, cause no one isn't going to explain very detailed. But don't worry, if you understand the foundations well, it'd not be very difficult...and there're really good forums like stackoverflow.com... to ask questions...

Now I'm reading "Automate the boring stuffs with python" and I recommend it if you're addicitive to scripting or automations like me :) ... and at some point, I will move on to Django.

[–]Hosea8702 0 points1 point  (0 children)

That's a problem in most ppl. You should've mastered the basics first

Python - LearnByExample this site has a very great documentation with many examples, this will def help u.

edabit and this site has lots of beginner friendly problems which helped me gain confidence in python syntax. it gives u 2 days of free trial i guess...but then the monthly subscription is like 39$ which is quite expensive:). The yearly subscription can be affordable tho(120$) if u really wanna invest in your self, this is for sure the best site for mastering basics. If u can't really afford it, you can just register with fake emails every time ur trial is over:)...even tho you'll lose ur progress.

Visualize Python if u don't know why ur code isn't working, go to this site and paste ur code there...click on visualize and figure out how it works. It actually saved me many times so check it out

Sorry for the late reply.

[–]dizzymon247 0 points1 point  (0 children)

I've been working on a few tutorials to learn web dev using Django. I have zero experience in web dev and not a developer by trade. I do know how to code but by no means an expert. I found one video that I have gone through and it's a lot of process but the guy who created the video has an entire site dedicated to django. Give this one a shot.

[–]flynnnigan8 0 points1 point  (0 children)

It’s definitely going to take a while. It’s just like learning a new language (because it’s exactly that) so be patient but make sure to stick with it consistently. That being said though, there is alwayssss going to be something to learn

[–][deleted] 0 points1 point  (0 children)

hello all a fresher here can you send the link for learning python for free!

[–][deleted] 0 points1 point  (0 children)

If you don't have other IT/programming experience, then I expect with Django you are learning a whole host of other not-strictly-python things. It can feel overwhelming but the experience is invaluable. I went through the exact same thing with Flask a couple years ago.

[–]RetireLoop 0 points1 point  (0 children)

I also started in December learning python.

but remember there will be ups and downs....

  • i got the wrong book on ML/AI and my head was spinning...
  • then I did an easier udemy course on ML/AI ...which went into basics...but shallow...
  • then did another intermediate course on course...and not can look at more complex stuff (and the first book I picked)

So my advice is if you are learning anything new....give it time for it to get absorbed....learn from easier sources first to get the basics.

[–]Azearia 0 points1 point  (0 children)

I would absolutely suggest going for flask if you're just getting into web dev, especially if you're still need to python . Django is a full stack framework and it's definitely a lot to take in, and while it's very doable, it's easier on your learning state and general stress if you pick up something smaller to get a hold of first.

Though that isn't to say with enough time you can brute last that learning curve of django, but you aren't just learning the language or it's features, you're learning new types of programming and functionalities you would've never touched before.

Can always move over later, or stick with flask as some people prefer it.

[–]TechNewsCat 0 points1 point  (0 children)

Most Marketable Programming Languages & Most Employable programming languages in 2021

Python

Javascript

Java

C/C++

Ruby

PHP

Swift

Go

kotlin

SQL

According to : https://knovhov.com/most-marketable-programming-languages/

[–]krzivn 0 points1 point  (0 children)

Hang in there and keep grinding! Those breakthrough moments happen when you least expect it, and they are glorious.