I've scanned through these, and they all seem to cover the basic features of Django (models, function-based views, forms, templates, CSS, and the admin interface), and use Python 3 and Django 2. My notes indicate what I think differentiates them.
- Written for Django Girls workshops or self-teaching
- Widely recommended for beginners, even to Python, web development, and command line
- Build a blog
- Instructions for Windows, Mac, and Linux (including Python installation)
- Uses standard
venv
module for virtual environments - Styling with Bootstrap and customization
- Push to GitHub
- Deploy to PythonAnywhere
Mozilla Developer Network Django tutorial
- Part of a larger guide on back-end web development
- Recommends (but doesn't require) familiarity with Python
- Build a library catalog
- Touches on Python installation for Windows, Mac, and Linux
- Uses
virtualenvwrapper
for virtual environments, which seems like unnecessary complexity - Covers class-based views, testing, sessions, user authentication, and security
- Styling via Bootstrap
- Deploys to Heroku
- Includes exercises along the way, and a self-assessment project to build a blog
Django's official "Getting started" guide
- Seems to assume intermediate Python knowledge
- Build a polling app
- Glosses over virtual environments, but recommends
virtualenvwrapper
- Covers class-based views and testing
Visual Studio Code Python and Django tutorial
- One of several Python tutorials focusing on editor features
- Doesn't go into much depth
- Touches on Python installation for Windows, Mac, and Linux
- Uses standard
venv
module for virtual environments - Covers the built-in debugger
- Deployment to Azure in other articles
Most of these recommendations come from the second episode of the Django Chat podcast, "How to Learn Django". The host covered similar content in a presentation at the Django Boston Meetup:
8 Reasons Why Learning Django is Hard (links go to slides)
- Web development is hard (but this applies to all languages/frameworks)
- Python development environments should be easier
- Spotty educational resources
- Lots of layers (model/view/url/template) to wire up
- Multiple layout conventions re: templates and settings
- Function-Based Views vs. Class-Based Views
- Customizing the
User
model - Deployment
Also, I generally agree with an opinionated FAQ that covers things like configuration and deployment.
I haven't read these, but they look promising.