Learning more about testing
Django's default test runner has improved a lot over the years. However, test runners such as py.test
 and nose
 are still superior in terms of functionality. They make your tests easier to write and run. Even better, they are compatible with your existing test cases.
You might also be interested in knowing what percentage of your code is covered by tests. This is called code coverage, and coverage.py
 is a very popular tool for finding this out.
Most projects today tend to use a lot of JavaScript functionality. Writing tests for them usually requires a browser-like environment for execution. Selenium is a great browser automation tool for executing such tests.
While a detailed treatment of testing in Django is outside the scope of this book, I would strongly recommend that you learn more about it.
If nothing else, the two main takeaways I wanted to convey through this section are first, write tests, and second, once you are confident at writing them, practice TDD.