Book Image

Becoming an Enterprise Django Developer

By : Michael Dinder
Book Image

Becoming an Enterprise Django Developer

By: Michael Dinder

Overview of this book

Django is a powerful framework but choosing the right add-ons that match the scale and scope of your enterprise projects can be tricky. This book will help you explore the multifarious options available for enterprise Django development. Countless organizations are already using Django and more migrating to it, unleashing the power of Python with many different packages and dependencies, including AI technologies. This practical guide will help you understand practices, blueprints, and design decisions to put Django to work the way you want it to. You’ll learn various ways in which data can be rendered onto a page and discover the power of Django for large-scale production applications. Starting with the basics of getting an enterprise project up and running, you'll get to grips with maintaining the project throughout its lifecycle while learning what the Django application lifecycle is. By the end of this book, you'll have learned how to build and deploy a Django project to the web and implement various components into the site.
Table of Contents (15 chapters)
1
Part 1 – Starting a Project
5
Part 2 – Django Components
10
Part 3 – Advanced Django Components

Summary

It can be very easy for someone to get caught up in how to do something versus actually doing something. Overthinking is a very common thing among programmers. Sometimes, it's wise to just accept a certain level of work is needed for your workflow and then scale up and extend as much as needed later on as the need arises. While gathering requirements is important to obtain a clear understanding of what it is you are trying to achieve, many of the steps and concepts discussed in this chapter can be thought of as just another tool in your toolbox, or in other words, the right tool for the right job.

Things such as containerizing your project with Docker can be easily added to your workflow and deployment routines later on. The same can be said if you need to add additional environments to your workflow later on. New developers could easily be given a new branch as the need also arises. Teams who dedicate one person to manually run, build, and test tasks can always automate their tasks later on when work begins to pile up. Pipelines can be created even after you have been developing a project for a while. However, other decisions, such as choosing what framework to use on your frontend, can prove to be disastrous if you decide to change the technology halfway through the development life cycle.

What is known as agile development is the process of an ever-changing and always fluid development environment. This is where many different collaborators share ideas and those ideas often change over time, meaning that the scope of the project will also change. A lot of projects today are built in an agile setting. Use your initial requirements gathering to probe for possible changes in the future and then align yourself with as many open doors as possible. Remember that a strong home always needs a strong foundation to rest upon; a weak foundation will result in your home crumbling to the ground.

This chapter focused on pouring the foundation of a home. In the next chapter, Chapter 2, Project Configuration, we will be building what can be considered the frame of the house that sits upon that foundation. The frame of that house will consist of building a project, virtual environment and database needed for development.