If your looking specifically for "CS" then you need to start thinking of the problem differently than Python/Dijango.
Take a problem and break it down to what you think are it's smallest components. Now break it down even more beyond what you think and once you get there, break it down way beyond that.
In your case, since you know Python, the question you must ask next is "how does the interpreter process my Python code?" In short, learn how the Python interpreter works. After that, figure out, how the Python interpreter was made by a compiler and so forth. Inside each of those items are treasure troves of algorithms, ideas, theory, etc that would fill years of curriculum at a standard university.
If there's a hard part that you don't understand, don't ignore it or facde it into an API, study it and see what it does and by the time your done, you'll probably have enough knowledge to create your own interpreter for your own computer language.
(Note: This is only one idea. There's many ways to approach this problem.)