>>>> Django <<<<<< -------------------------------------------------------------------------- -------------------------------------------------------------------------- //Django CRUD https://studygyaan.com/django/django-crud-create-retrieve-update-delete-function-based-views -------------------------------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------------- //Django CRUD (Create, Retrieve, Update, Delete) Function Based Views CRUD: Create :- create new entries in your database Retrieve :- retrieve or fetch all or some data from your database Update :- update or edit data in your database. Delete :- delete data from database. ----------------------------------------------------------------- //1. Create a Django project. django-admin startproject blog16 //2. Create an app in that django-project python manage.py startapp CRUD //3. Add your app name in installed apps. Settings.py INSTALLED_APPS = [ 'blog16', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] //Step 2. Add files and Folder to the Django Project Settings.py import os TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [os.path.join(BASE_DIR,'templates')], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] //Urls.py from django.contrib import admin from django.urls import path,include urlpatterns = [ path('admin/', admin.site.urls), path('',include('CRUD.urls')) ] Settings.py DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'blog16', 'USER': 'postgres', 'PASSWORD': '2320', 'HOST': 'localhost' } } Index.html C.R.U.D

Check data

{% csrf_token %}
Name
Age
Address
-------------------------------------------------------------- Create a table in models.py Models.py from django.db import models # Create your models here. class Details(models.Model): name=models.CharField(max_length=100) age=models.IntegerField() address=models.TextField(max_length=255) Run migrations python manage.py makemigrations python manage.py migrate Now, provide the path for the index page in urls.py of (here, CRUD) app. Urls.py from django.urls import path from . import views from django.conf.urls import url urlpatterns = [ path('',views.index,name='index'), path('create',views.create,name="create"), ] At last add the function for creating new entries in views.py. Views.py from django.shortcuts import render,redirect from .models import Details # Create your views here. def index(request): return render(request,'index.html') def create(request): if request.method=="POST": name=request.POST['name'] age=request.POST['age'] address=request.POST['address'] obj=Details.objects.create(name=name,age=age,address=address) obj.save() return redirect('/') ----------------------------------------------------------------------------- 3.2 Retrieve operation Retrieve.html C.R.U.D

Home

{% for i in details %} {% endfor %}
Name Age City Edit Delete
{{i.name}} {{i.age}} {{i.address}} Edit Delete
---------------------------------------------------------------------- Urls.py from django.urls import path from . import views from django.conf.urls import url urlpatterns = [ path('',views.index,name='index'), path('create',views.create,name="create"), path('retrieve',views.retrieve,name="retrieve"), ] Views.py from django.shortcuts import render,redirect from .models import Details def retrieve(request): details=Details.objects.all() return render(request,'retrieve.html',{'details':details}) //3.3 Update operation Retrieve.html Edit ----------------------------------------------------------------------------- Edit.html C.R.U.D

Edit

Check data

{% csrf_token %}
Name
Age
Address
---------------------------------------------------------------------------- Forms.py from django import forms from .models import Details class detailsform(forms.ModelForm): class Meta: model=Details fields="__all__" --------------------------------------------------------- Urls.py from django.urls import path from . import views from django.conf.urls import url urlpatterns = [ path('',views.index,name='index'), path('create',views.create,name="create"), path('retrieve',views.retrieve,name="retrieve"), path('edit/',views.edit,name="edit"), path('update/',views.update,name="update"), ] ------------------------------------------------------------ Views.py from .forms import detailsform def edit(request,id): object=Details.objects.get(id=id) return render(request,'edit.html',{'object':object}) def update(request,id): object=Details.objects.get(id=id) form=detailsform(request.POST,instance=object) if form.is_valid: form.save() object=Details.objects.all() return redirect('retrieve') //3.4 Delete operation Retrieve.html Delete Urls.py from django.urls import path from . import views from django.conf.urls import url urlpatterns = [ path('',views.index,name='index'), path('create',views.create,name="create"), path('retrieve',views.retrieve,name="retrieve"), path('edit/',views.edit,name="edit"), path('update/',views.update,name="update"), url(r'^delete_product/(?P[0-9]+)/$', views.delete,name="delete"), ] Views.py def delete(request,pk): Details.objects.filter(id=pk).delete() return redirect('retrieve') ---------------------------------------------------------------------------------------