Django for Beginners /

Chapter 17: Conclusion

Course Contents

Congratulations on finishing Django for Beginners! Starting from scratch, we've built six different web applications from scratch and covered Django's major features: templates, views, URLs, users, models, security, testing, and deployment. You now have the knowledge to build modern websites with Django.

As with any new skill, practicing and applying what you've just learned is important. The CRUD (Create-Read-Update-Delete) functionality in our Blog and Newspaper sites is commonplace in many other web applications. For example, can you make a Todo List web application? An Instagram or Facebook clone? You already have all the tools you need. When starting out, the best approach is to build as many small projects as possible, incrementally add complexity, and research new things.

Learning Resources

As you become more comfortable with Django and web development in general, you'll find the official Django documentation and source code increasingly valuable. I refer to both on an almost daily basis. There is also the official Django forum, a great albeit underutilized resource for Django-specific questions.

To stay current with the latest Django news, the Django News Newsletter is a free weekly newsletter with all the latest news, events, articles, tutorials, and projects. If you prefer the audio format, Django Chat is a biweekly podcast I co-host with Django Fellow Carlton Gibson, where we interview leading developers and provide deep dives on various Django topics.

If you want an all-in-one source of free tutorials and additional courses that cover APIs, Docker, testing, and other topics in more depth please check out LearnDjango.com, a comprehensive learning website I run focused exclusively on Django.

3rd Party Packages

As we've seen in this book, third-party packages are a vital part of the Django ecosystem, especially regarding deployment or improvements around user registration. It's common for a professional Django website to rely on dozens of such packages.

However, a word of caution is in order: don't mindlessly install and use third-party packages because it saves a small amount of time. Every additional package introduces another dependency, another risk that its maintainer won't fix every bug or keep up to date with the latest version of Django. Take the time to understand what it is doing.

If you'd like to view more packages, the Django Packages website is a comprehensive resource of over 4,000 available third-party packages. A more curated option, the awesome-django repo, which I run with the current maintainer of Django Packages, is worth a look. And if you need help starting a new project quickly, I've long maintained a free starter project, DjangoX, that comes with the latest version of Django, built-in user authentication, and more to jumpstart any new projects.

Python Books

Django is, ultimately, just Python, so if your Python skills could improve, I recommend Eric Matthes's Python Crash Course. For intermediate to advanced developers, Fluent Python and Effective Python are worthy of additional study.

Feedback

If you purchased this book on Amazon, please leave an honest review. Your review will have an enormous impact on book sales and help me continue to teach Django full-time.

Finally, I'd love to hear your thoughts about the book. It is a constant work in progress, and the detailed feedback I receive from readers helps me continue to improve it. I try to respond to every email at [email protected].

Thank you for reading the book. Good luck on your journey with Django!