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

Creating custom form fields

Sometimes, the needs of the project outweigh the options that are provided to us. If a field class is not available by default, we have two options: create our own or use a third-party package where someone else has already written a field class for us.

Continuing with the same ContactForm class, we will demonstrate the differences between validation mechanisms by building a MultipleEmailField. This will be a single field, accepting a single string of emails, all separated by commas. Each email item will then be checked independently to see whether it is in a valid email string format. We will use the same validate_email() function as we did before to enforce this constraint.

Field class – Field

Django provides a class called Field found in the django.forms.fields library, used to construct custom field classes. Any of the options and methods found in this class can be overwritten as needed. For example, overriding the def __init__() method...