How to structure backend of a fantasy sports analytics website on Django?
There isn't a right answer to this question. Different programmers use different structures. We can, however, provide advice.
Your project will definitely have a core application, in charge of users and account management. All common functionality should be provided by this app. Login/logout/recovery functions fall into this category, and so do high-scores, history, friends, etc.
Do that first. When it's working, you'll most likely want to implement leagues as different apps. The logic driving each sport is different, so it makes sense to keep it separate, and mount it in separate URL paths. All of these apps will, and should, depend heavily on the core.
Fair warning: you'll probably find yourself repeating patterns when implementing each app. Some of these patterns you can migrate safely to the core, but some others will look the same but be just different enough to warrant their own code. Implement first, find common ground, abstract last.
This architecture will let you enable and disable leagues, as well as push league-specific upgrades, with little to no hassle. You can work on different leagues without the fear of breaking stuff elsewhere.
In other words, you have the right initial approach. Work on it, make mistakes, learn, refactor, abstract. Trying to get it perfect on the first try will only slow you down.
I'm looking to make an analytics fantasy sports site and I need a little help thinking how to structure the site as a whole. It's most definitely been done before but I'm doing this for educational purposes and because this is a hobby of mine!
The idea for the site is:

Users can create an account
It'll use the Yahoo/ESPN API to draw their individual league data (rosters, stats,
etc)
Each user account can be linked with multiple leagues across many
sports (i.e. 2x bball leagues, 1x football, 1x baseball)
The website will perform certain analytics based on the sport, and
type of league they are playing in (h2h or roto).

Going through the django tutorial, I realized that they not only use a mvc approach but also make a distinction between project and app.
My question is: 

How do I structure the backend of the website?
Does each sport get it's individual app? What about each type of league? 
And finally, does the "log-in / account creation" get an app of it's
own as well? It spans across all the fantasy sports.

Just a little confused, as it's my first time creating a website like this. Similarly, I understand that I should just take it one step at a time, but I just want to get a good understanding of the overall vision