Step 3 Add the generated private key to you ssh agent with “ssh-add”
Step 4 Login to your github account and navigate to settings
Step 4 On the settings page click on “SSH and GPG Keys” and click on “New SSH key” Step 5 Add the contents of “.pub” file generated in our 2nd step in “key ” text area and provide a name in the “Title text” and click on “Add SSH key”
Step 6 Your setup is done. Now create a repository and try cloning it with git clone from your git bash terminal,
Step 2 – Create a new django project “django-postgres”
django-admin startproject django-postgres
Step 3 – Navigate to project directory “django-postgres” to Install django restframework
cd django-postgres
pip install djangorestframework
Step 4 – Install psycopg2 – Adapter for postgres
pip install psycopg2
Step 5 – now lets create a new app
python manage.py startapp models
Step 6 – Add the app to the installed apps of your project in the file settings.py. You will find it under “<root directory>/django-postgres”
'models.apps.ModelsConfig'
settings.py
Step 7 – Update the databases section in the settings.py file of the project to have postgres database details. Name represents database name and other parameters are self explanatory. Update all the details.
Step 8 – Lets create a model in the models app so that we can test the database configuration. In the models app directory update below files. Create files where they are not already present.
<root_dir>/django_postgres/models/models.py
from django.db import models
class Company(models.Model):
name = models.CharField(max_length=50)
address = models.CharField(max_length=100)
email = models.CharField(max_length=50)
Here we have create a simple model class named Company
Create a new file serializers.py file in the models app <root_dir>/django_postgres/models/serializers.py
from rest_framework import serializers
from .models import Company
class CompanySerializer(serializers.ModelSerializer):
class Meta:
model = Company
fields = ['id', 'name', 'address', 'email']
in the views.py file of models app, add following content. Here we are using viewsets to configure our views for company
<root_dir>/django_postgres/models/views.py
from rest_framework import generics, viewsets
from .models import Company
from .serializers import CompanySerializer
class CompanyViewSet(viewsets.ModelViewSet):
queryset = Company.objects.all()
serializer_class = CompanySerializer
Create/Update urls.py file to create url mapping of company views
<root_dir>/django_postgres/models/urls.py
from django.urls import path, include
from . import views
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register('company', views.CompanyViewSet)
urlpatterns = [
path('', include(router.urls))
]
update the urls.py file of the project django_postgres. Add a new entry as below in the urlpatterns section
path('api/', include('models.urls')),
Step 9 – We are pretty much done and now is the time to test our project. I have updated the project in the git url mentioned at the start of the page. If something is not working, please do write in comments or try and download the project and execute.
Execute “makemigrations” and “migrate” command as below
Now try and add some new elements and see the results. You can also go to postgres database and you should find models_company table created with the entries you have created.