In this tutorial, we will learn how to build a full stack Django + Angular + PostgreSQL example with a CRUD App. The back-end server uses Django with Rest Framework for REST APIs. Front-end side is made with Angular 11/10/8, HTTPClient & Router.
Django + Angular + PostgreSQL example Overview
We will build a full-stack Django + Angular Tutorial Application working with PostgreSQL in that:
- Each Tutorial has id, title, description, published status.
- We can create, retrieve, update, delete Tutorials.
- We can also find Tutorials by title.
The images below shows screenshots of our System.
- Create an item:

- Retrieve all items:

- Click on Edit button to view an item details:

On this Page, you can:
- change status to Published using Publish button
- remove the Tutorial from Database using Delete button
- update the Tutorial details on Database with Update button

- Search items by title:

Django + Angular + PostgreSQL Architecture
This is the application architecture we’re gonna build:

- Django exports REST Apis using Django Rest Framework & interacts with PostgreSQL Database using Django Model.
- Angular Client sends HTTP Requests and retrieve HTTP Responses using axios, shows data on the components. We also use Angular Router for navigating to pages.
Django Rest Apis Back-end
The following diagram shows the architecture of our Django CRUD Rest Apis App with PostgreSQL database:

- HTTP requests will be matched by Url Patterns and passed to the Views
- Views processes the HTTP requests and returns HTTP responses (with the help of Serializer)
- Serializer serializes/deserializes data model objects
- Models contains essential fields and behaviors for CRUD Operations with PostgreSQL Database
These are APIs that Django App will export:
- POST
/api/tutorials: create new Tutorial - GET
/api/tutorials: retrieve all Tutorials - GET
/api/tutorials/[id]: retrieve a Tutorial by :id - PUT
/api/tutorials/[id]: update a Tutorial by :id - DELETE
/api/tutorials/[id]: delete a Tutorial by :id - DELETE
/api/tutorials: delete all Tutorials - GET
/api/tutorials?title=[keyword]: find all Tutorials which title contains keyword
Project structure
This is our Django project structure:

Angular Front-end

-
The
Appcomponent is a container withrouter-outlet. It has navbar that links to routes paths viarouterLink. -
TutorialsListcomponent gets and displays Tutorials. -
Tutorialcomponent has form for editing Tutorial's details based on:id. -
AddTutorialcomponent has form for submission new Tutorial. -
These Components call
TutorialServicemethods which use AngularHTTPClientto make HTTP requests and receive responses.
Project Structure

For more details and implementation, please visit:
https://bezkoder.com/django-angular-postgresql/

所有评论(0)