(My background: I started doing Java Swing before college; wrote a bunch of PHP in college; got my first job working on Java webapps with servlets and JSF; founded a startup that successively ended up using web.py, Pylons, and Django; got into Google where I ended up writing webapps in C++; participated in the rewrite of that C++ server in Java, and am now using straight Django for my second startup. The technology world really does move in cycles. Use whatever you're most familiar with, learn it well, milk all you can out of it, and then move on only when you have to. You can save yourself years of effort by avoiding the latest fad and "grass is greener" syndrome.)
Quite a bold statement about Django, which I can't agree with.
Django has bee around since 2005 - for 9 years. Longer than node.js lifespan. I don't really see any large competitors in the web framework field that would push Django from its current position.
Check careers.stackoverflow.com for jobs tagged with Django - quite a lot. That shows rather strong position of the framework on the jobs market. Those jobs may not be hip or not in startups, but nevertheless - they are there.
Anyway. Certainly framework fading away is not something new, but I would be surprised if that would happen to Django in the next two years. Five - possible. Two - doubt it.
Best to do market research for the area one actually resides in, at least until you have enough experience to do remote positions.
Right now I think you should concentrate on Node.js - finish your degree, maybe join some exciting startup or start something yourself. Keep looking at python from time to time. Maybe do some hackathons or tiny projects by yourself.
Node.js is certainly fast moving train. But where would it end up in? I don't really keep my hand on the pulse of the node.js community, but I'm not sure node.js is here to stay in the long run. Node.js will be used for various things for a long time. It has amazing websockets implementation, asyc execution does have some great benefits, but the code. My god is it messy. As mundanevoice points out below - you have to be a very solid and experienced developer to keep it all sane.
About python. I think it'll be around for a while. It is solid, it is readable, it is fast. Python community is large, there's a lot of very high quality tools written for it. It may not be so hip as node, but there's a lot of jobs for python devs out there.
All said, I myself is still torn about this question, though. I know both languages, but I've used node.js in more exciting projects than python. Python is so beautiful, but node.js stuff is interesting. So I'm still on the crossroads - which way I want to go all the way. And should I?
Python is a solid choice in the long run - it'll be around. Node.js? Most likely too, but for what purpose and how many companies would go with it?
Node.js is all cool to experiment with and build some projects but it gets incredibly tough when you want to write something complex. I am not saying that it is impossible to build something complex, but it would take a very experienced developer to do all of that in acceptable time.
Python/Django on other hand has a very mature ecosystem and the development is really fast as compared to Node.js which also has a fast start but you get stuck when you need to build something complex. There are many quality plugins for Python/Django which in IMHO much better in quality than npm packages.
Python on other hand is a better language than JS and you won't need to fight the language to write better code (The point is it is very easy to shoot yourself on foot while using JS).
If I were you at this stage of your career, I would suggest to start doing Python/Django and maybe learn some good Golang/C++.
Node may turn out to be a fad, so don't hitch your wagon to it fully. To be a good (web) developer you are often going to need to learn new languages and frameworks as the tech landscape changes.
At this point in your career I'd suggest polishing your Node / JS skillz and make yourself valuable to a potential employer. Being so-so with Python (or any other language) is not likely to increase your value in the marketplace.
If I were in your situation, I'd sooner look at Go or Rust than Python, but only once you are earning good money.
You'll have the excellent Play Framework and Spray IO. WebJars, SbtWeb, and its plugins lets you add all sorts of goodness including calling nodejs stuff on your javascripts. And you won't stray too far from the JVM.
You need to learn multiple languages/platforms, and learn to use the best tool for the problem.
http://en.wikipedia.org/wiki/Reactor_pattern
http://en.wikipedia.org/wiki/List_of_software_package_manage...
Both are possible in Python, while leveraging a MUCH better language.