0%

Apply decoupling patterns, properly test a decoupled project, and integrate a Django API with React, and Vue.js. This book covers decoupled architectures in Django, with Django REST framework and GraphQL. With practical and simple examples, you’ll see firsthand how, why, and when to decouple a Django project. 

Starting with an introduction to decoupled architectures versus monoliths, with a strong focus on the modern JavaScript scene, you’ll implement REST and GraphQL APIs with Django, add authentication to a decoupled project, and test the backend. You’ll then review functional testing for JavaScript frontends with Cypress. You will also learn how to integrate GraphQL in a Django project, with a focus on the benefits and drawbacks of this new query language.

By the end of this book, you will be able to discern and apply all the different decoupling strategies to any Django project, regardless of its size.


What You'll Learn  

  • Choose the right approach for decoupling a Django project
  • Build REST APIs with Django and a Django REST framework
  • Integrate Vue.js and GraphQL in a Django project
  • Consume a Django REST API with Next.js
  • Test decoupled Django projects

Who This Book Is For

Software developers with basic Django skills keen to learn decoupled architectures with Django. JavaScript developers interested in learning full-stack development and decoupled architectures with Django.

Table of Contents

  1. Cover
  2. Front Matter
  3. 1. Introduction to the Decoupled World
  4. 2. JavaScript Meets Django
  5. 3. Modern Django and the Django REST Framework
  6. 4. Advantages and Disadvantages of Decoupled Architectures
  7. 5. Setting Up a Django Project
  8. 6. Decoupled Django with the Django REST Framework
  9. 7. API Security and Deployment
  10. 8. Django REST Meets Next.js
  11. 9. Testing in a Decoupled World
  12. 10. Authentication and Authorization in the Django REST Framework
  13. 11. GraphQL in Django with Ariadne
  14. 12. GraphQL in Django with Strawberry
  15. Back Matter
44.215.110.142