Django Crash Course: Covers Python 3.8 and Django 3.x - Beta Version
We're now offering a Live, Online Course of Django Crash Course!
Taking place on August 21, 22, and 23rd is the live, online version of this course. To find out more, go to the course page.
- E-Book: Free
- Print: Varies by Country
- US & UK: $3.99
- Australia, Canada, Germany, Poland: $5.99
- Rest of the world: $6.99
Django Crash Course Now in Beta
304 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 a pre-release version of our book. It's rather stable right now, but periodically we'll update the e-book download with corrections and improved formatting, 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
- EveryCheese is the Foundation!
We provide PDF, epub, and kindle/mobi downloads with every ebook order.
You can also attend the monthly live online course. These are two day long online live courses with limited duration.
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:
- File uploads
- Lots of additional views
- 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) feldroy.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 purchased 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.
If I purchased the beta e-book, do I get access to the Final versions?
Yes, you get access to all subsequent versions of the 3.x edition of the Django Crash Course.
What happens if I use up all my downloads?
If you use up all your downloads you can email us to get them reset back to five (5).
Also, any time we update our books, we reset the download count back to five.
Will there be any translations?
Yes, while we don't have a concrete schedule for delivery, the following are in the works:
- Brazilian Portuguese (included with purchase of English version from feldroy.com)
- Spanish (included with purchase of English version from feldroy.com)
We're also talking to separate vendors for the following languages. These will require purchase on other sites:
If you represent a company that translates textbooks and want to translate our books to another language, please contact us at firstname.lastname@example.org.
I'm in South America, can I buy the book with EBANX?
Yes! We now support payments with EBANX for Argentina, Brazil, Chile, and Peru. Residents of those countries can pay in their own currency as well as in installments (pay a portion of the total cost each month). The details of how this works depend on the country.
If you are a resident of those countries (Argentina, Brazil, Chile, and Peru), choose EBANX as an option during checkout.
I'm in Mexico, can I buy the book with EBANX?
Yes! We now support payments with EBANX for Mexico. Residents of Mexico can pay in pesos as well as in installments (pay a portion of the total cost each month).
Choose EBANX as an option during checkout.
I'm in Colombia, can I buy the book with EBANX?
Not yet. We're still in the midst of paperwork to get set up with EBANX for Colombia residents.
What is Two Scoops of Django?
It's the book to get after you finish the Django Crash Course!
Who are the authors?
Daniel and Audrey Feldroy (formerly 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!