Django Crash Course: Covers Python 3.8 and Django 3.x - Beta Version
- E-Book: Free
- Print: Varies by Country
- US & UK: $3.99
- Australia, Canada, Germany, Poland: $5.99
- Rest of the world: $6.99
277 pages, with frequent updates while the project is in beta.
We're happy to announce the beta version of this e-book is now out! Beta means that this is an early pre-release preview intended for our most passionate readers willing to get the latest, most cutting-edge written materials from us with the tradeoff of increased likelihood of errors. Periodically we'll update the e-book download with corrections, sending out updates via new download links as often as we can.
As a reader, you're encouraged to submit bug reports to us for errors that you find. In turn we will give you credit for your contributions in not just the e-book but also in the print paperback and online publicly on the web. This is your opportunity to have your name in one of our books as a contributor, which you are then welcome to add to your resume and LinkedIn profile.
We have been known in the past to offer the most prolific contributors of Two Scoops of Django a chance to be recognized as technical reviewers.
What Is Django Crash Course?
The Django Crash Course book is a guided walkthrough where we build a real, production-quality Django web application from the ground up.
Originally a large part of our corporate training materials, this tutorial was once only available to companies paying $3000 a seat for in-person training. The contents of this book are professional-grade and have been used by real software companies to get their engineers up and running fast with Python 3.8 and Django 3.x development.
Table of Contents
The table of contents is subject to change.
- The Ultimate Django Setup
- Hello, World in Django
- Preparation: Install Dependencies
- Generate a Starter Django Project
- Create a Database and Run the Project
- Create a Django-Superuser
- Practice Using the Admin
- Generate a Homepage App
- Prepping the Project for Templates
- Add a Simple Homepage View
- Create Your First Django Template
- Working With Variables in Templates
- Calling View Methods From Templates
- Your First Project is Complete!
- The EveryCheese Project
- Using Cookiecutter and Template
- Exploring the Generated Boilerplate
- Starting Up Your New Django Project
- Cheese Boilers
- Initializing the Git Repo Committing and Pushing
- Git Is Not for Stinky Cheeses
- What We Get From The Users App
- Adding User Bios
- Adding Bio to User Detail Template
- Introducing Tests
- User Profile Cheese
- The Cheeses App and Model
- Trying Out the Cheese Model
- Tests and Test Coverage
- The Cheeserator
- Adding Cheeses to the Admin
- Behind the Curtain
- Class Based View Fundamentals
- Writing the Cheese List View
- Wiring in the List View Url
- the Cheese List Template
- Add the CheeseDetailView
- The Cheese Detail Template
- Where to Dip Your Class Based Views
- Writing Factories for Tests
- Why Use Factories
- Using Factories in Tests
- How Your Cheese Objects Feel About Your Tests
- Finding and Adding a Third Party Countries App
- Display Cheese Country Data
- Implement Cheese Creation by Users
- Use Django Crispy Forms for Better Display
- Understand View Mixins and Loginrequiredmixin
- Add a Creator Field and Update Our Cheese Records
- Track and Display the Cheese Creator
- Update the Cheese Factory
- Update the Cheese Model Tests
- Test All the Cheese Views
- Test All the Cheese Url Patterns
- Adding a CheeseUpdateView and Form Recycling
- Test the Cheese Forms and Update Views
- Next Steps
Currently we provide PDF and epub downloads with every ebook order. As part of the ebook product, we plan to include a mobi file soon.
There will be a digest-sized print versions once the book enters its final phase of development. For print, we plan to support perfect bound, spiral, and hardcover versions.
I've never programmed before. Is this book for me?
Not yet, but soon. We recommend you learn the basics of Python programming first. Spend a weekend with tutorials such as Learn Python the Hard Way or Automate the Boring Stuff with Python, then pick up this book.
What's your release schedule?
We plan to release the different versions of our book as follows:
- Alpha E-Book: Late January 2020, with frequent updates as we improve the book. Updates will include corrections and many additional pages of instruction.
- Beta E-Book: February 14th, 2020, with frequent updates as we improve the book.
- Final E-Book and Print Versions: Summer 2020. Once it goes out to print in perfect bound, coil, and hardcover, updates to the Django 3.x edition will slow down and eventually stop.
We may need to update this schedule depending on changes in Django, ability to get prototypes from printers, and the weather.
Will the print paperback be autographed?
We thought hard about this and decided against it. While we wish we could autograph every copy, signing books creates restrictions that make logistics challenging. For example, if we find a printer in Australia that can ship books to a fulfillment warehouse in Australia, we would have to fly to Australia to sign the books between printing and shipment. Flying to every country would be amazing but is prohibitively expensive. That said, we're very happy to sign copies of our books at conferences and meetups.
If I buy the e-book now, can I get a discount on the print version later?
Absolutely! The value of the discount will match the bundle.
Class-Based Views (CBVs) or Function-Based Views (FBVs)?
We only teach Class-Based Views (CBVs). Our reason is this:
- We've found teaching FBVs then CBVs is very confusing for students
- Third-party package support is MUCH stronger for CBVs than for FBVs. The canonical example if Django REST Framework (DRF), where FBV support is clearly an afterthought.
What's up with the extensions?
When we give our trainings after we build the foundations covered in this book, we structure our courses according to the desires of our students. The topic material we've accumulated over time is in a set of files. Our plan is to write "micro-books" based on this material and call it the Django Crash Course Extension System and charge around $2.99+ for each one.
This way, instead of putting stuff into the Django Crash Course book that you might not care about, you can purchase specific content for your needs. For example, while we know VueJS and AWS, many of our readers would prefer material on React and/or GCP. Some extensions under consideration:
- Individual deployment/optimization extensions for AWS, Azure, GCP, and Heroku
- Django REST Framework
- Async, ASGI, and Channels
- Payment gateways like Stripe, Paddle, and PayPal
If you're interested in helping us write any of the extensions listed above or have suggestions for ones you would like to write, we pay authors a generous 50% royalties for books published by us. While we reserve the right to determine what we publish, we do promise to seriously consider every submission. Contact us at hi (at) roygreenfeld.com.
Is this book good for data scientists?
Absolutely! In fact, we chose Conda as our Python environment and pip for dependency management. This makes getting everything right across different operating systems for students very straightforward. These tools also empower us to create data-focused extensions.
If I purchase the Alpha e-book, do I get access to the Beta and Final versions?
Yes, you get access to all subsequent versions of the 3.x edition of the Django Crash Course.
Who are the authors?
Daniel and Audrey Roy Greenfeld are long-time authors. They are also experienced software engineers each with decades of programming experience at MIT, NASA, Microsoft, SharpCast, and more. In addition to writing Django Crash Course, they created:
- The Two Scoops of Django series on best practices
- Django Packages
- Cookiecutter Django
- Audrey Roy Greenfeld
- Much more!