Totally agree. My first day or two of snowboarding were painful. A lot of falling, horrible balance, sore knees... then after a few days I got the hang of it and suddenly it was the most amazing thing ever.
Django is the same. Until you get an understanding of the basic concepts, its painful and annoying, but once you do, its a breeze and you'll have a lot of fun.
I might bear that in mind andf give it another shot. I much prefer PHP for the area's Django seems to be useful for simply because it was painful to get into!
It doesn't really feel like you're getting anywhere the first couple of days because there are so many things to get right and learn about. Hang in there, check out the Django book and read tutorials that teach you cool stuff (balance between taking small steps and seeing cool stuff to look forward to).
If you're feeling adventurous check out virtualenv right away (Python not Django specific)
its very VERY easy to fall into the "bad habits" trap with PHP
This is like telling someone that they shouldn't buy a tambourine because it won't help them learn to conduct the London Symphony.
Mind you, I'm not saying that your first 10,000 lines of PHP code won't be filled with bad habits. I'm suggesting that your first 10,000 lines of code will be filled with bad habits whether or not that code is written in PHP. The secret is to keep practicing and learning.
As a language, PHP is not as good as Ruby or Python. It's less flexible, less elegant, and has less expressive power. But I assure you that placing a flexible and elegant tool in the hands of a beginner doesn't magically give them good habits. You can write ugly global-filled procedural spaghetti code in Ruby, and that's exactly what beginners are likely to do, unless they have a great teacher looking over their shoulder and correcting them. And how many people do? Most programmers are compelled to teach themselves, because their teachers either don't exist or are hung up on Java, an absolutely awful beginner language. That's why so much of Web programming is done in PHP, a language which has evolved to be very easy to teach to oneself.
I have reluctantly concluded that, if you force a self-taught beginner to start with Ruby or Python, all you do is add that much more friction to their learning curve. These languages are harder for a beginner to work with, in part because they are so flexible and general-purpose. Everything about PHP is relentlessly focused on the goal of getting your web page running -- it's got one use, it's got a canonical set of docs, everyone's Hello, World looks the same and can be run on an $8/month shared host in five minutes by following a simple recipe. Python was invented before the web and has a diversity of uses, which makes the books thicker and the setup more complicated and lowers the odds that any given web page about Python has anything to say about the problem you are trying to solve. Ruby is all about OO programming, which is great after you know what the hell OO is and how you should be using it. Before that, you'll either write Ruby that looks like bad PHP or you'll cut and paste idioms from Rails books without understanding them.
I wish I knew how to get more people using better languages. And I fear that I do know: They need good teachers. But, in the absence of a lot of great hackers who are primarily interested in teaching, and assuming that you aren't one of those rare people who can just pick up SICP and instantly feel a rapport with the authors [1], your best bet is to just get started. So if Python doesn't grab you, try PHP.
---
[1] I wish I had known to start with SICP; I think it would have worked out great. But I'm the guy who got so bored with BASIC and assembly that I taught myself Pascal three years before I got my hands on a Pascal compiler. It occurs to me that I may not be typical.
C makes an excellent (and important) SECOND language, but a pretty terrible first, IMHO.