├── Makefile ├── README.md ├── apps ├── __init__.py ├── card_block │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── card_location │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── contact_list │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── customers_list │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ ├── 0001_initial.py │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── job_cards │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── job_categories │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── news │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── order_placed │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── simple_job │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py └── team_list │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── forms.py │ ├── migrations │ └── __init__.py │ ├── models.py │ ├── tests.py │ ├── urls.py │ └── views.py ├── manage.py ├── root ├── __init__.py ├── asgi.py ├── settings.py ├── urls.py └── wsgi.py └── templates └── apps ├── card_block ├── add.html ├── delete.html ├── edit.html └── index.html ├── card_location ├── add.html ├── edit.html └── index.html ├── contact_list ├── add.html ├── edit.html └── index.html ├── customers_list ├── add.html ├── edit.html └── index.html ├── job_cards ├── add.html ├── edit.html └── index.html ├── job_categories ├── add.html ├── edit.html └── index.html ├── news_widget ├── add.html ├── edit.html └── index.html ├── order_placed ├── add.html ├── delete.html ├── edit.html └── index.html ├── simple_job ├── add.html ├── delete.html ├── edit.html └── index.html └── team_list ├── add.html ├── delete.html ├── edit.html └── index.html /Makefile: -------------------------------------------------------------------------------- 1 | mig: 2 | ./manage.py makemigrations 3 | ./manage.py migrate 4 | admin: 5 | python3 manage.py createsuperuser 6 | 7 | req: 8 | pip3 freeze > requirements.txt 9 | 10 | install-req: 11 | pip3 install -r requirements.txt 12 | 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # django_crud 2 | Simple CRUD with Python Django Framework 3 | -------------------------------------------------------------------------------- /apps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/__init__.py -------------------------------------------------------------------------------- /apps/card_block/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/card_block/__init__.py -------------------------------------------------------------------------------- /apps/card_block/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/card_block/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class CardBlockConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.card_block' 7 | -------------------------------------------------------------------------------- /apps/card_block/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.card_block.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () 10 | -------------------------------------------------------------------------------- /apps/card_block/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | 4 | class User(models.Model): 5 | title = models.CharField(max_length=255) 6 | description = models.CharField(max_length=255) 7 | shot1 = models.IntegerField() 8 | shot2 = models.IntegerField() 9 | shot3 = models.IntegerField() 10 | image = models.ImageField(upload_to='users/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/card_block/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/card_block/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.card_block.views import HomeListView, AddPersonView, UpdatePersonView, DeletePersonView 4 | 5 | urlpatterns = [ 6 | path('', HomeListView.as_view(), name='home'), 7 | path('add', AddPersonView.as_view(), name='add'), 8 | path('update/', UpdatePersonView.as_view(), name='update'), 9 | path('delete/', DeletePersonView.as_view(), name='delete') 10 | ] -------------------------------------------------------------------------------- /apps/card_block/views.py: -------------------------------------------------------------------------------- 1 | from django.urls import reverse_lazy 2 | from django.views.generic import ListView, CreateView, UpdateView, DeleteView 3 | 4 | from apps.card_block.forms import UserForm 5 | from apps.card_block.models import User 6 | 7 | 8 | class HomeListView(ListView): 9 | queryset = User.objects.all() 10 | template_name = 'apps/card_block/index.html' 11 | context_object_name = 'users' 12 | 13 | 14 | class AddPersonView(CreateView): 15 | form_class = UserForm 16 | queryset = User.objects.all() 17 | success_url = reverse_lazy('home') 18 | template_name = 'apps/card_block/add.html' 19 | 20 | 21 | class UpdatePersonView(UpdateView): 22 | queryset = User.objects.all() 23 | form_class = UserForm 24 | success_url = reverse_lazy('home') 25 | template_name = 'apps/card_block/edit.html' 26 | 27 | 28 | class DeletePersonView(DeleteView): 29 | queryset = User.objects.all() 30 | success_url = reverse_lazy('home') 31 | template_name = 'apps/card_block/delete.html' 32 | -------------------------------------------------------------------------------- /apps/card_location/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/card_location/__init__.py -------------------------------------------------------------------------------- /apps/card_location/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/card_location/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class CardLocationConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.card_location' 7 | -------------------------------------------------------------------------------- /apps/card_location/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.card_location.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () -------------------------------------------------------------------------------- /apps/card_location/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/card_location/migrations/__init__.py -------------------------------------------------------------------------------- /apps/card_location/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | 4 | class User(models.Model): 5 | name = models.CharField(max_length=255) 6 | job = models.CharField(max_length=255) 7 | location = models.CharField(max_length=255) 8 | image = models.ImageField(upload_to='users/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/card_location/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/card_location/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.card_location.views import home, add_person, update_person, delete_person 4 | 5 | urlpatterns = [ 6 | path('', home, name='home'), 7 | path('add', add_person, name='add'), 8 | path('update/', update_person, name='update'), 9 | path('delete/', delete_person, name='delete') 10 | 11 | ] 12 | -------------------------------------------------------------------------------- /apps/card_location/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render, redirect 2 | 3 | from apps.card_location.forms import UserForm 4 | from apps.card_location.models import User 5 | 6 | 7 | def home(request): 8 | user = User.objects.all() 9 | context = { 10 | 'users': user 11 | } 12 | return render(request, 'apps/card_location/index.html', context) 13 | 14 | 15 | def add_person(request): 16 | if request.method == "POST": 17 | form = UserForm(request.POST, request.FILES) 18 | if form.is_valid(): 19 | form.save() 20 | return redirect('home') 21 | return render(request, 'apps/card_location/add.html') 22 | 23 | 24 | def update_person(request, pk): 25 | user = User.objects.get(id=pk) 26 | if request.method == 'POST': 27 | form = UserForm(request.POST, request.FILES, instance=user) 28 | if form.is_valid(): 29 | form.save() 30 | return redirect('home') 31 | context = {'user': user} 32 | return render(request, 'apps/card_location/edit.html', context) 33 | 34 | 35 | def delete_person(request, pk): 36 | user = User.objects.filter(id=pk) 37 | user.delete() 38 | return redirect('/') 39 | -------------------------------------------------------------------------------- /apps/contact_list/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/contact_list/__init__.py -------------------------------------------------------------------------------- /apps/contact_list/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/contact_list/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class ContactListConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.contact_list' 7 | -------------------------------------------------------------------------------- /apps/contact_list/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.contact_list.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () 10 | -------------------------------------------------------------------------------- /apps/contact_list/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | 4 | class User(models.Model): 5 | name = models.CharField(max_length=255) 6 | position = models.CharField(max_length=255) 7 | email = models.EmailField() 8 | projects = models.IntegerField() 9 | image = models.ImageField(upload_to='users/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/contact_list/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/contact_list/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.contact_list.views import home, add_person, update_person, delete_person 4 | 5 | urlpatterns = [ 6 | path('', home, name='home'), 7 | path('add', add_person, name='add'), 8 | path('update/', update_person, name='update'), 9 | path('delete/', delete_person, name='delete') 10 | 11 | ] 12 | -------------------------------------------------------------------------------- /apps/contact_list/views.py: -------------------------------------------------------------------------------- 1 | from django.core.paginator import Paginator, PageNotAnInteger, EmptyPage 2 | from django.shortcuts import render, redirect 3 | 4 | from apps.contact_list.forms import UserForm 5 | from apps.contact_list.models import User 6 | 7 | 8 | def home(request): 9 | user_list = User.objects.all() 10 | page = request.GET.get('page', 1) 11 | 12 | paginator = Paginator(user_list, 10) 13 | try: 14 | users = paginator.page(page) 15 | except PageNotAnInteger: 16 | users = paginator.page(1) 17 | except EmptyPage: 18 | users = paginator.page(paginator.num_pages) 19 | return render(request, 'apps/contact_list/index.html', {'users': users}) 20 | 21 | 22 | def add_person(request): 23 | if request.method == "POST": 24 | form = UserForm(request.POST, request.FILES) 25 | if form.is_valid(): 26 | form.save() 27 | return redirect('home') 28 | return render(request, 'apps/contact_list/add.html') 29 | 30 | 31 | def update_person(request, pk): 32 | user = User.objects.get(id=pk) 33 | if request.method == "POST": 34 | form = UserForm(request.POST, request.FILES, instance=user) 35 | if form.is_valid(): 36 | form.save() 37 | return redirect('home') 38 | context = {'user': user} 39 | return render(request, 'apps/contact_list/edit.html', context) 40 | 41 | 42 | def delete_person(request, pk): 43 | user = User.objects.filter(id=pk) 44 | user.delete() 45 | return redirect('/') 46 | -------------------------------------------------------------------------------- /apps/customers_list/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/customers_list/__init__.py -------------------------------------------------------------------------------- /apps/customers_list/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/customers_list/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class CustomersListConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.customers_list' 7 | -------------------------------------------------------------------------------- /apps/customers_list/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.customers_list.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () 10 | -------------------------------------------------------------------------------- /apps/customers_list/migrations/0001_initial.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 4.2.1 on 2023-06-01 12:55 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | 8 | initial = True 9 | 10 | dependencies = [ 11 | ] 12 | 13 | operations = [ 14 | migrations.CreateModel( 15 | name='User', 16 | fields=[ 17 | ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), 18 | ('name', models.CharField(max_length=255)), 19 | ('city', models.CharField(max_length=255)), 20 | ('salary', models.CharField(max_length=255)), 21 | ('image', models.ImageField(blank=True, null=True, upload_to='users/')), 22 | ], 23 | ), 24 | ] 25 | -------------------------------------------------------------------------------- /apps/customers_list/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/customers_list/migrations/__init__.py -------------------------------------------------------------------------------- /apps/customers_list/models.py: -------------------------------------------------------------------------------- 1 | from django.db.models import Model, CharField, ImageField 2 | 3 | 4 | class User(Model): 5 | name = CharField(max_length=255) 6 | city = CharField(max_length=255) 7 | salary = CharField(max_length=255) 8 | image = ImageField(upload_to='users/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/customers_list/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/customers_list/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.customers_list.views import home, add_person, update_person, delete_person 4 | 5 | urlpatterns = [ 6 | path('', home, name='home'), 7 | path('add', add_person, name='add'), 8 | path('update/', update_person, name='update'), 9 | path('delete/', delete_person, name='delete') 10 | ] 11 | -------------------------------------------------------------------------------- /apps/customers_list/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render, redirect 2 | 3 | from apps.customers_list.forms import UserForm 4 | from apps.customers_list.models import User 5 | 6 | 7 | def home(request): 8 | users = User.objects.all() 9 | context = {'users': users} 10 | return render(request, 'apps/customers_list/index.html', context) 11 | 12 | 13 | def add_person(request): 14 | if request.method == "POST": 15 | form = UserForm(request.POST, request.FILES) 16 | if form.is_valid(): 17 | form.save() 18 | return redirect('home') 19 | return render(request, 'apps/customers_list/add.html') 20 | 21 | 22 | def update_person(request, pk): 23 | user = User.objects.get(id=pk) 24 | if request.method == 'POST': 25 | form = UserForm(request.POST, request.FILES, instance=user) 26 | if form.is_valid(): 27 | form.save() 28 | return redirect('home') 29 | context = {'user': user} 30 | return render(request, 'apps/customers_list/edit.html', context) 31 | 32 | 33 | def delete_person(request, pk): 34 | user = User.objects.filter(id=pk) 35 | user.delete() 36 | return redirect('/') 37 | -------------------------------------------------------------------------------- /apps/job_cards/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/job_cards/__init__.py -------------------------------------------------------------------------------- /apps/job_cards/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/job_cards/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class JobCardsConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.job_cards' 7 | -------------------------------------------------------------------------------- /apps/job_cards/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.job_cards.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () -------------------------------------------------------------------------------- /apps/job_cards/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | from django.db.models import Model, TextChoices 3 | 4 | 5 | class User(Model): 6 | class StatusChoice(TextChoices): 7 | FULL_TIME = 'full_time', 'Full_time' 8 | REMOTE = 'remote', 'Remote' 9 | CONTRACT = 'contract', 'Contract' 10 | WFH = 'wfh', 'Wfh' 11 | 12 | job = models.CharField(max_length=255) 13 | address = models.CharField(max_length=255) 14 | location = models.CharField(max_length=255) -------------------------------------------------------------------------------- /apps/job_cards/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/job_cards/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.job_cards.views import home, add_person, update_person, delete_person 4 | 5 | urlpatterns = [ 6 | path('', home, name='home'), 7 | path('add', add_person, name='add'), 8 | path('update', update_person, name='update'), 9 | path('delete', delete_person, name='delete') 10 | ] 11 | -------------------------------------------------------------------------------- /apps/job_cards/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render, redirect 2 | 3 | from apps.job_cards.forms import UserForm 4 | from apps.job_cards.models import User 5 | 6 | 7 | def home(request): 8 | users = User.objects.all() 9 | context = { 10 | 'users': users 11 | } 12 | return render(request, 'apps/job_cards/index.html', context) 13 | 14 | 15 | def add_person(request): 16 | if request.method == 'POST': 17 | form = UserForm(request.POST) 18 | if form.is_valid(): 19 | form.save() 20 | return redirect('home') 21 | return render(request, 'apps/job_cards/add.html') 22 | 23 | 24 | def update_person(request, pk): 25 | users = User.objects.get(id=pk) 26 | context = {'request': request, 'form': UserForm(), 'users': users} 27 | if request.method == 'POST': 28 | form = UserForm(request.POST) 29 | if form.is_valid(): 30 | User.objects.filter(id=pk).update(**form.cleaned_data) 31 | return redirect('/') 32 | return render(request, 'apps/job_cards/edit.html', context) 33 | 34 | 35 | def delete_person(request, pk): 36 | users = User.objects.filter(id=pk) 37 | users.delete() 38 | return redirect('/') 39 | -------------------------------------------------------------------------------- /apps/job_categories/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/job_categories/__init__.py -------------------------------------------------------------------------------- /apps/job_categories/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/job_categories/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class JobCategoriesConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.job_categories' 7 | -------------------------------------------------------------------------------- /apps/job_categories/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.job_categories.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () -------------------------------------------------------------------------------- /apps/job_categories/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/job_categories/migrations/__init__.py -------------------------------------------------------------------------------- /apps/job_categories/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | 4 | class User(models.Model): 5 | job = models.CharField(max_length=255) 6 | description = models.CharField(max_length=255) 7 | image = models.ImageField(upload_to='users/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/job_categories/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/job_categories/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.job_categories.views import home, add_person, update_person, delete_person 4 | 5 | urlpatterns = [ 6 | path('', home, name='home'), 7 | path('add', add_person, name='add'), 8 | path('update/', update_person, name='update'), 9 | path('delete/', delete_person, name='delete') 10 | 11 | ] 12 | -------------------------------------------------------------------------------- /apps/job_categories/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render, redirect 2 | 3 | from apps.job_categories.forms import UserForm 4 | from apps.job_categories.models import User 5 | 6 | 7 | def home(request): 8 | user = User.objects.all() 9 | context = { 10 | 'users': user 11 | } 12 | return render(request, 'apps/card_location/index.html', context) 13 | 14 | 15 | def add_person(request): 16 | if request.method == "POST": 17 | form = UserForm(request.POST, request.FILES) 18 | if form.is_valid(): 19 | form.save() 20 | return redirect('home') 21 | return render(request, 'apps/card_location/add.html') 22 | 23 | 24 | def update_person(request, pk): 25 | user = User.objects.get(id=pk) 26 | if request.method == 'POST': 27 | form = UserForm(request.POST, request.FILES, instance=user) 28 | if form.is_valid(): 29 | form.save() 30 | return redirect('home') 31 | context = {'user': user} 32 | return render(request, 'apps/card_location/edit.html', context) 33 | 34 | 35 | def delete_person(request, pk): 36 | user = User.objects.filter(id=pk) 37 | user.delete() 38 | return redirect('/') 39 | -------------------------------------------------------------------------------- /apps/news/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/news/__init__.py -------------------------------------------------------------------------------- /apps/news/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/news/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class NewsWidgetConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.news' 7 | -------------------------------------------------------------------------------- /apps/news/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.news.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () 10 | -------------------------------------------------------------------------------- /apps/news/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/news/migrations/__init__.py -------------------------------------------------------------------------------- /apps/news/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | 4 | class User(models.Model): 5 | new = models.CharField(max_length=255) 6 | date = models.DateField(max_length=255) 7 | image = models.ImageField(upload_to='user/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/news/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/news/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.news.views import home, add_person, update_person, delete_person 4 | 5 | urlpatterns = [ 6 | path('', home, name='home'), 7 | path('add', add_person, name='add'), 8 | path('update/', update_person, name='update'), 9 | path('delete/', delete_person, name='delete') 10 | 11 | ] 12 | -------------------------------------------------------------------------------- /apps/news/views.py: -------------------------------------------------------------------------------- 1 | from django.shortcuts import render, redirect 2 | 3 | from apps.news.forms import UserForm 4 | from apps.news.models import User 5 | 6 | 7 | def home(request): 8 | users = User.objects.all() 9 | context = {'users': users} 10 | return render(request, 'apps/news_widget/index.html', context) 11 | 12 | 13 | def add_person(request): 14 | if request.method == 'POST': 15 | form = UserForm(request.POST, request.FILES) 16 | if form.is_valid(): 17 | form.save() 18 | return redirect('home') 19 | return render(request, 'apps/news_widget/add.html') 20 | 21 | 22 | def update_person(request, pk): 23 | user = User.objects.get(id=pk) 24 | if request.method == 'POST': 25 | form = UserForm(request.POST, request.FILES, instance=user) 26 | if form.is_valid(): 27 | User.objects.filter(id=pk).update(**form.cleaned_data) 28 | return redirect('home') 29 | context = {'user': user} 30 | return render(request, 'apps/news_widget/edit.html', context) 31 | 32 | 33 | def delete_person(request, pk): 34 | User.objects.filter(id=pk).delete() 35 | return redirect('/') 36 | -------------------------------------------------------------------------------- /apps/order_placed/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/order_placed/__init__.py -------------------------------------------------------------------------------- /apps/order_placed/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/order_placed/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class OrderPlacedConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.order_placed' 7 | -------------------------------------------------------------------------------- /apps/order_placed/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.order_placed.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () 10 | -------------------------------------------------------------------------------- /apps/order_placed/models.py: -------------------------------------------------------------------------------- 1 | from django.db.models import Model, CharField, ImageField 2 | 3 | 4 | class User(Model): 5 | description = CharField(max_length=255) 6 | price = CharField(max_length=255) 7 | discount = CharField(max_length=255) 8 | image = ImageField(upload_to='users/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/order_placed/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/order_placed/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.order_placed.views import HomeListView, AddPersonView, UpdatePersonView, DeletePersonView 4 | 5 | urlpatterns = [ 6 | path('', HomeListView.as_view(), name='home'), 7 | path('add', AddPersonView.as_view(), name='add'), 8 | path('update/', UpdatePersonView.as_view(), name='update'), 9 | path('delete/', DeletePersonView.as_view(), name='delete') 10 | ] 11 | -------------------------------------------------------------------------------- /apps/order_placed/views.py: -------------------------------------------------------------------------------- 1 | from django.urls import reverse_lazy 2 | from django.views.generic import ListView, CreateView, UpdateView, DeleteView 3 | 4 | from apps.order_placed.forms import UserForm 5 | from apps.order_placed.models import User 6 | 7 | 8 | class HomeListView(ListView): 9 | queryset = User.objects.all() 10 | template_name = 'apps/order_placed/index.html' 11 | context_object_name = 'users' 12 | 13 | 14 | class AddPersonView(CreateView): 15 | form_class = UserForm 16 | queryset = User.objects.all() 17 | success_url = reverse_lazy('home') 18 | template_name = 'apps/order_placed/add.html' 19 | 20 | 21 | class UpdatePersonView(UpdateView): 22 | queryset = User.objects.all() 23 | form_class = UserForm 24 | success_url = reverse_lazy('home') 25 | template_name = 'apps/order_placed/edit.html' 26 | 27 | 28 | class DeletePersonView(DeleteView): 29 | queryset = User.objects.all() 30 | success_url = reverse_lazy('home') 31 | template_name = 'apps/order_placed/delete.html' 32 | -------------------------------------------------------------------------------- /apps/simple_job/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/simple_job/__init__.py -------------------------------------------------------------------------------- /apps/simple_job/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/simple_job/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class SimpleJobConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.simple_job' 7 | -------------------------------------------------------------------------------- /apps/simple_job/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.simple_job.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () 10 | -------------------------------------------------------------------------------- /apps/simple_job/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | 4 | class User(models.Model): 5 | job = models.CharField(max_length=255) 6 | position = models.CharField(max_length=255) 7 | price = models.CharField(max_length=255) 8 | qualification = models.CharField(max_length=255) -------------------------------------------------------------------------------- /apps/simple_job/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/simple_job/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.simple_job.views import HomeListView, AddPersonView, UpdatePersonView, DeletePersonView 4 | 5 | urlpatterns = [ 6 | path('', HomeListView.as_view(), name='home'), 7 | path('add', AddPersonView.as_view(), name='add'), 8 | path('update/', UpdatePersonView.as_view(), name='update'), 9 | path('delete/', DeletePersonView.as_view(), name='delete') 10 | ] 11 | -------------------------------------------------------------------------------- /apps/simple_job/views.py: -------------------------------------------------------------------------------- 1 | from django.urls import reverse_lazy 2 | from django.views.generic import ListView, CreateView, UpdateView, DeleteView 3 | 4 | from apps.simple_job.forms import UserForm 5 | from apps.simple_job.models import User 6 | 7 | 8 | class HomeListView(ListView): 9 | queryset = User.objects.all() 10 | template_name = 'apps/simple_job/index.html' 11 | context_object_name = 'users' 12 | paginate_by = 10 13 | 14 | 15 | class AddPersonView(CreateView): 16 | form_class = UserForm 17 | queryset = User.objects.all() 18 | success_url = reverse_lazy('home') 19 | template_name = 'apps/simple_job/add.html' 20 | 21 | 22 | class UpdatePersonView(UpdateView): 23 | queryset = User.objects.all() 24 | form_class = UserForm 25 | success_url = reverse_lazy('home') 26 | template_name = 'apps/simple_job/edit.html' 27 | 28 | 29 | class DeletePersonView(DeleteView): 30 | queryset = User.objects.all() 31 | success_url = reverse_lazy('home') 32 | template_name = 'apps/simple_job/delete.html' 33 | -------------------------------------------------------------------------------- /apps/team_list/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/team_list/__init__.py -------------------------------------------------------------------------------- /apps/team_list/admin.py: -------------------------------------------------------------------------------- 1 | from django.contrib import admin 2 | 3 | # Register your models here. 4 | -------------------------------------------------------------------------------- /apps/team_list/apps.py: -------------------------------------------------------------------------------- 1 | from django.apps import AppConfig 2 | 3 | 4 | class TeamListConfig(AppConfig): 5 | default_auto_field = 'django.db.models.BigAutoField' 6 | name = 'apps.team_list' 7 | -------------------------------------------------------------------------------- /apps/team_list/forms.py: -------------------------------------------------------------------------------- 1 | from django.forms import ModelForm 2 | 3 | from apps.team_list.models import User 4 | 5 | 6 | class UserForm(ModelForm): 7 | class Meta: 8 | model = User 9 | exclude = () 10 | -------------------------------------------------------------------------------- /apps/team_list/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/apps/team_list/migrations/__init__.py -------------------------------------------------------------------------------- /apps/team_list/models.py: -------------------------------------------------------------------------------- 1 | from django.db import models 2 | 3 | 4 | class User(models.Model): 5 | name = models.CharField(max_length=255) 6 | job = models.CharField(max_length=255) 7 | image = models.ImageField(upload_to='users/', null=True, blank=True) -------------------------------------------------------------------------------- /apps/team_list/tests.py: -------------------------------------------------------------------------------- 1 | from django.test import TestCase 2 | 3 | # Create your tests here. 4 | -------------------------------------------------------------------------------- /apps/team_list/urls.py: -------------------------------------------------------------------------------- 1 | from django.urls import path 2 | 3 | from apps.team_list.views import HomeListView, AddPersonView, UpdatePersonView, DeletePersonView 4 | 5 | urlpatterns = [ 6 | path('', HomeListView.as_view(), name='home'), 7 | path('add', AddPersonView.as_view(), name='add'), 8 | path('update/', UpdatePersonView.as_view(), name='update'), 9 | path('delete/', DeletePersonView.as_view(), name='delete') 10 | ] 11 | -------------------------------------------------------------------------------- /apps/team_list/views.py: -------------------------------------------------------------------------------- 1 | from django.urls import reverse_lazy 2 | from django.views.generic import ListView, CreateView, UpdateView, DeleteView 3 | 4 | from apps.job_categories.forms import UserForm 5 | from apps.job_categories.models import User 6 | 7 | 8 | class HomeListView(ListView): 9 | queryset = User.objects.all() 10 | template_name = 'apps/team_list/index.html' 11 | context_object_name = 'users' 12 | 13 | 14 | class AddPersonView(CreateView): 15 | form_class = UserForm 16 | queryset = User.objects.all() 17 | success_url = reverse_lazy('home') 18 | template_name = 'apps/team_list/add.html' 19 | 20 | 21 | class UpdatePersonView(UpdateView): 22 | queryset = User.objects.all() 23 | form_class = UserForm 24 | success_url = reverse_lazy('home') 25 | template_name = 'apps/team_list/edit.html' 26 | 27 | 28 | class DeletePersonView(DeleteView): 29 | queryset = User.objects.all() 30 | success_url = reverse_lazy('home') 31 | template_name = 'apps/team_list/delete.html' 32 | -------------------------------------------------------------------------------- /manage.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | """Django's command-line utility for administrative tasks.""" 3 | import os 4 | import sys 5 | 6 | 7 | def main(): 8 | """Run administrative tasks.""" 9 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'root.settings') 10 | try: 11 | from django.core.management import execute_from_command_line 12 | except ImportError as exc: 13 | raise ImportError( 14 | "Couldn't import Django. Are you sure it's installed and " 15 | "available on your PYTHONPATH environment variable? Did you " 16 | "forget to activate a virtual environment?" 17 | ) from exc 18 | execute_from_command_line(sys.argv) 19 | 20 | 21 | if __name__ == '__main__': 22 | main() 23 | -------------------------------------------------------------------------------- /root/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ikramovna/django_crud/2229df1ba6799c3f674772f768a107154d8ed8f7/root/__init__.py -------------------------------------------------------------------------------- /root/asgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | ASGI config for root project. 3 | 4 | It exposes the ASGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.asgi import get_asgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'root.settings') 15 | 16 | application = get_asgi_application() 17 | -------------------------------------------------------------------------------- /root/settings.py: -------------------------------------------------------------------------------- 1 | import os 2 | from pathlib import Path 3 | 4 | from dotenv import load_dotenv 5 | 6 | BASE_DIR = Path(__file__).resolve().parent.parent 7 | 8 | SECRET_KEY = os.getenv('SECRET_KEY') 9 | 10 | DEBUG = True 11 | 12 | load_dotenv() 13 | 14 | ALLOWED_HOSTS = ['*'] 15 | 16 | MY_APPS = [ 17 | 'apps.job_cards', 18 | 'apps.team_list', 19 | 'apps.customers_list', 20 | 'apps.news', 21 | 'apps.card_location', 22 | 'apps.job_categories', 23 | 'apps.card_block', 24 | 'apps.contact_list', 25 | 'apps.order_placed', 26 | 'apps.simple_job', 27 | 28 | ] 29 | 30 | THIRD_PARTY_APPS = [ 31 | 32 | ] 33 | 34 | INSTALLED_APPS = [ 35 | 'django.contrib.admin', 36 | 'django.contrib.auth', 37 | 'django.contrib.contenttypes', 38 | 'django.contrib.sessions', 39 | 'django.contrib.messages', 40 | 'django.contrib.staticfiles', 41 | 42 | ] + MY_APPS + THIRD_PARTY_APPS 43 | 44 | MIDDLEWARE = [ 45 | 'django.middleware.security.SecurityMiddleware', 46 | 'django.contrib.sessions.middleware.SessionMiddleware', 47 | 'django.middleware.common.CommonMiddleware', 48 | 'django.middleware.locale.LocaleMiddleware', 49 | 'django.middleware.csrf.CsrfViewMiddleware', 50 | 'django.contrib.auth.middleware.AuthenticationMiddleware', 51 | 'django.contrib.messages.middleware.MessageMiddleware', 52 | 'django.middleware.clickjacking.XFrameOptionsMiddleware', 53 | ] 54 | 55 | ROOT_URLCONF = 'root.urls' 56 | 57 | TEMPLATES = [ 58 | { 59 | 'BACKEND': 'django.template.backends.django.DjangoTemplates', 60 | 'DIRS': [BASE_DIR / 'templates'] 61 | , 62 | 'APP_DIRS': True, 63 | 'OPTIONS': { 64 | 'context_processors': [ 65 | 'django.template.context_processors.debug', 66 | 'django.template.context_processors.request', 67 | 'django.contrib.auth.context_processors.auth', 68 | 'django.contrib.messages.context_processors.messages', 69 | ], 70 | }, 71 | }, 72 | ] 73 | 74 | WSGI_APPLICATION = 'root.wsgi.application' 75 | 76 | DATABASES = { 77 | 'default': { 78 | 'ENGINE': 'django.db.backends.postgresql_psycopg2', 79 | 'NAME': os.getenv('DB_NAME'), 80 | 'USER': os.getenv('DB_USER'), 81 | 'PASSWORD': os.getenv('DB_PASSWORD'), 82 | 'HOST': os.getenv('DB_HOST'), 83 | 'PORT': os.getenv('DB_PORT') 84 | } 85 | } 86 | 87 | # AUTH_PASSWORD_VALIDATORS = [ 88 | # { 89 | # 'NAME': 'django.contrib.accounts.password_validation.UserAttributeSimilarityValidator', 90 | # }, 91 | # { 92 | # 'NAME': 'django.contrib.accounts.password_validation.MinimumLengthValidator', 93 | # }, 94 | # { 95 | # 'NAME': 'django.contrib.accounts.password_validation.CommonPasswordValidator', 96 | # }, 97 | # { 98 | # 'NAME': 'django.contrib.accounts.password_validation.NumericPasswordValidator', 99 | # }, 100 | # ] 101 | 102 | LANGUAGE_CODE = 'en' 103 | 104 | TIME_ZONE = 'UTC' 105 | 106 | USE_I18N = True 107 | 108 | USE_TZ = True 109 | 110 | STATIC_URL = 'static/' 111 | STATIC_ROOT = os.path.join(BASE_DIR / 'static') 112 | 113 | MEDIA_URL = 'media/' 114 | MEDIA_ROOT = os.path.join(BASE_DIR / 'media') 115 | 116 | DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' 117 | 118 | AUTH_USER_MODEL = 'auth.User' 119 | -------------------------------------------------------------------------------- /root/urls.py: -------------------------------------------------------------------------------- 1 | from django.conf.urls.static import static 2 | from django.contrib import admin 3 | from django.urls import path, include 4 | 5 | from root.settings import MEDIA_URL, MEDIA_ROOT 6 | 7 | urlpatterns = [ 8 | path('admin/', admin.site.urls), 9 | path('job_cards', include('apps.job_cards.urls')), 10 | path('team_list/', include('apps.team_list.urls')), 11 | path('customers_list/', include('apps.customers_list.urls')), 12 | path('news/', include('apps.news.urls')), 13 | path('card_location/', include('apps.card_location.urls')), 14 | path('job_categories/', include('apps.job_categories.urls')), 15 | path('card_block/', include('apps.card_block.urls')), 16 | path('contact_list/', include('apps.contact_list.urls')), 17 | path('order_placed/', include('apps.order_placed.urls')), 18 | path('simple_job/', include('apps.simple_job.urls')), 19 | 20 | 21 | 22 | ] + static(MEDIA_URL, document_root=MEDIA_ROOT) 23 | -------------------------------------------------------------------------------- /root/wsgi.py: -------------------------------------------------------------------------------- 1 | """ 2 | WSGI config for root project. 3 | 4 | It exposes the WSGI callable as a module-level variable named ``application``. 5 | 6 | For more information on this file, see 7 | https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ 8 | """ 9 | 10 | import os 11 | 12 | from django.core.wsgi import get_wsgi_application 13 | 14 | os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'root.settings') 15 | 16 | application = get_wsgi_application() 17 | -------------------------------------------------------------------------------- /templates/apps/card_block/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
64 |
65 |
69 |
70 |
74 |
75 |
76 |
77 |
81 |
82 |
83 |
84 |
88 |
89 |
90 | 91 |
92 |
93 |
94 | 95 |
98 |
99 |
100 | 101 |
102 |
103 |
104 | 105 |
106 |
107 |
108 | 109 |
110 |
111 | 137 | 138 |
139 | 140 | 149 | 150 | -------------------------------------------------------------------------------- /templates/apps/card_block/delete.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |
9 | {% csrf_token %} 10 |

Are you sure you want to delete "{{ object }}"?

11 | 12 |
13 | 14 | -------------------------------------------------------------------------------- /templates/apps/card_block/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. bs4 card block 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 | Add user 42 |
43 | {% for user in users %} 44 |
45 |
46 |
47 | 48 |

{{ user.title }}

49 |

{{ user.description }}

50 | 59 |
60 |
61 | 68 | 69 |
70 |
71 | {% endfor %} 72 | 73 | 74 |
75 |
76 | 149 | 150 |
151 | 152 | 161 | 162 | -------------------------------------------------------------------------------- /templates/apps/card_location/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
63 |
64 |
65 |
66 |
69 |
70 |
73 |
74 |
75 |
76 | 77 |
80 |
81 |
82 | 83 |
84 |
85 |
86 | 87 |
88 |
89 |
90 | 91 |
92 |
93 | 119 | 120 |
121 | 122 | 131 | 132 | -------------------------------------------------------------------------------- /templates/apps/card_location/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
64 | 65 |
66 |
67 |
71 |
72 |
73 |
74 |
79 |
80 |
81 |
82 |
83 | 84 | 85 |
86 |
87 | 88 |
89 |
90 |
91 | 92 |
93 |
94 | 95 | 96 |
97 |
98 | 124 | 125 |
126 | 127 | 136 | 137 | -------------------------------------------------------------------------------- /templates/apps/card_location/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. card with join and location 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 |
37 | 38 | 39 |
40 | Add user 41 |
42 | {% for user in users %} 43 |
44 |
47 |
48 | 50 |
{{ user.name }}
{{ user.job }} 54 |
55 |
2345
Followers
57 |
54
Following 58 |
59 |
60 | 74 |
75 |
76 |
77 | 78 | {% endfor %} 79 | 80 | 81 |
82 |
83 | 144 | 145 |
146 | 147 | 156 | 157 | -------------------------------------------------------------------------------- /templates/apps/contact_list/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
63 |
64 |
65 |
66 |
69 |
70 |
73 |
74 |
75 |
76 |
79 | 80 | 81 |
82 | 83 |
86 |
87 |
88 | 89 |
90 |
91 |
92 | 93 |
94 |
95 | 96 | 97 |
98 |
99 | 125 | 126 |
127 | 128 | 137 | 138 | -------------------------------------------------------------------------------- /templates/apps/customers_list/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |
58 |

Contact

59 |
60 |
61 |
62 | 63 | 64 |
65 |
66 |
67 |
68 | 69 | 70 |
71 |
72 | 73 | 74 |
75 |
76 |
77 | 78 |
79 | 80 | 81 |
82 |
83 | 84 |
85 |
86 |
87 |
88 |
89 |
90 | 91 |
92 |
93 | 119 | 120 |
121 | 122 | 131 | 132 | -------------------------------------------------------------------------------- /templates/apps/customers_list/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
64 | 65 |
66 |
67 |
71 |
72 |
73 |
74 |
79 |
80 |
81 |
82 |
86 |
87 |
88 | 89 |
90 |
91 |
92 | 93 |
94 |
95 | 96 | 97 |
98 |
99 | 125 | 126 |
127 | 128 | 137 | 138 | -------------------------------------------------------------------------------- /templates/apps/customers_list/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. top customers list 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 |
37 | 38 | 39 |
40 |
41 |
42 |
43 |
44 |
Top Customers
45 |
46 | Add user 47 |
48 |
    49 | {% for user in users %} 50 | 51 |
  • 52 |
    53 |
    56 |
    {{ user.name }}
    57 |

    {{ user.city }}

    58 |
    {{ user.salary }}
    59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 |
    68 |
  • 69 | {% endfor %} 70 |
71 |
72 |
73 |
74 |
75 |
76 | 94 | 95 |
96 | 97 | 106 | 107 | 108 | -------------------------------------------------------------------------------- /templates/apps/job_cards/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
63 |
64 |
65 |
66 |
69 |
70 |
71 |
72 |
75 |
76 |
77 | 78 |
79 |
80 |
81 | 82 |
83 |
84 |
85 | 86 |
87 |
88 | 114 | 115 |
116 | 117 | 126 | 127 | -------------------------------------------------------------------------------- /templates/apps/job_cards/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
64 | 65 |
66 |
67 |
72 |
73 |
74 |
75 |
80 |
81 |
82 | 83 |
84 |
85 |
86 | 87 |
88 |
89 | 90 | 91 |
92 |
93 | 119 | 120 |
121 | 122 | 131 | 132 | -------------------------------------------------------------------------------- /templates/apps/job_categories/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
63 |
64 |
68 |
69 |
70 |
71 |
74 |
75 |
76 | 77 |
78 |
79 |
80 | 81 |
82 |
83 |
84 | 85 |
86 |
87 | 113 | 114 |
115 | 116 | 125 | 126 | -------------------------------------------------------------------------------- /templates/apps/job_categories/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 |
42 |

Create new customer

45 |
46 | 48 | 50 |
51 |
52 |
53 | {% csrf_token %} 54 |
55 |
56 |
57 |

Contact

58 |
59 |
60 |
61 |
65 |
66 |
67 |
68 |
73 |
74 |
75 |
76 |
77 | 78 | 79 |
80 |
81 | 82 |
83 |
84 |
85 | 86 |
87 |
88 | 89 | 90 |
91 |
92 | 118 | 119 |
120 | 121 | 130 | 131 | -------------------------------------------------------------------------------- /templates/apps/job_categories/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. job categories cards 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
38 | 39 | 40 |
41 | Add user 42 |
43 | {% for user in users %} 44 |
45 |
46 |
47 |
48 |
49 |
50 | topilmadi
52 |
53 |
54 |
{{ user.job }}
55 |

{{ user.description }}

56 |
  • 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 |
  • 65 | 66 | 67 |
    68 |
    69 | {% endfor %} 70 |
    71 |
    72 | 125 | 126 |
    127 | 128 | 137 | 138 | -------------------------------------------------------------------------------- /templates/apps/news_widget/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    63 |
    64 |
    65 |
    66 |
    69 |
    70 |
    71 |
    72 |
    75 |
    76 |
    77 | 78 |
    79 |
    80 |
    81 | 82 |
    83 |
    84 |
    85 | 86 |
    87 |
    88 | 114 | 115 |
    116 | 117 | 126 | 127 | -------------------------------------------------------------------------------- /templates/apps/news_widget/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    64 | 65 |
    66 |
    67 |
    71 |
    72 |
    73 |
    74 |
    75 |
    76 |
    77 | 78 | 79 |
    80 |
    81 | 82 |
    83 |
    84 |
    85 | 86 |
    87 |
    88 | 89 | 90 |
    91 |
    92 | 118 | 119 |
    120 | 121 | 130 | 131 | -------------------------------------------------------------------------------- /templates/apps/order_placed/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    64 |
    65 |
    66 |
    67 |
    70 |
    71 |
    72 |
    73 |
    76 |
    77 |
    78 |
    79 |
    83 |
    84 |
    85 | 86 | 87 |
    88 |
    91 |
    92 |
    93 | 94 |
    95 |
    96 |
    97 | 98 |
    99 |
    100 |
    101 | 102 |
    103 |
    104 | 130 | 131 |
    132 | 133 | 142 | 143 | -------------------------------------------------------------------------------- /templates/apps/order_placed/delete.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |
    9 | {% csrf_token %} 10 |

    Are you sure you want to delete "{{ object }}"?

    11 | 12 |
    13 | 14 | -------------------------------------------------------------------------------- /templates/apps/order_placed/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    65 |
    66 |
    67 |
    68 |
    72 |
    73 |
    74 |
    79 |
    80 |
    81 |
    82 |
    87 |
    88 |
    89 | 90 |
    91 |
    95 |
    96 |
    97 | 98 |
    99 |
    100 |
    101 | 102 |
    103 |
    104 | 105 | 106 |
    107 |
    108 | 134 | 135 |
    136 | 137 | 146 | 147 | -------------------------------------------------------------------------------- /templates/apps/order_placed/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. order placed successfully 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |

    Thank you.

    42 |

    Your order has been placed successfully.

    43 |

    Your order number is 9237427634826. We will immediatelly process 44 | your and it will be delivered in 2 - 5 business days.

    45 |

    You may also like these products

    46 |
    47 | {% for user in users %} 48 |
    49 |
    50 |
    52 |

    {{ user.description }}

    {{ user.price }} 54 | {{ user.discount }} 55 |
    56 |
    57 | 25% OFF
    58 | 59 | Update 60 | Delete 61 |
    62 |
    63 | {% endfor %} 64 | 65 |
    66 |
    67 |
    68 | 124 | 125 |
    126 | 127 | 136 | 137 | -------------------------------------------------------------------------------- /templates/apps/simple_job/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    64 |
    65 |
    66 |
    67 |
    71 |
    72 |
    73 |
    74 |
    78 |
    79 |
    80 |
    81 |
    85 |
    86 |
    87 | 88 |
    89 |
    90 |
    91 | 92 |
    93 |
    94 |
    95 | 96 |
    97 |
    98 | 124 | 125 |
    126 | 127 | 136 | 137 | -------------------------------------------------------------------------------- /templates/apps/simple_job/delete.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |
    9 | {% csrf_token %} 10 |

    Are you sure you want to delete "{{ object }}"?

    11 | 12 |
    13 | 14 | -------------------------------------------------------------------------------- /templates/apps/simple_job/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    65 |
    66 |
    67 |
    68 |
    73 |
    74 |
    75 |
    76 |
    81 |
    82 |
    83 |
    84 |
    89 |
    90 |
    91 | 92 | 93 |
    94 |
    95 |
    96 | 97 |
    98 |
    99 |
    100 | 101 |
    102 |
    103 | 129 | 130 |
    131 | 132 | 141 | 142 | -------------------------------------------------------------------------------- /templates/apps/team_list/add.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    61 |
    62 |
    65 |
    66 |
    69 |
    70 |
    71 |
    72 | 73 |
    76 |
    77 |
    78 | 79 |
    80 |
    81 |
    82 | 83 |
    84 |
    85 |
    86 | 87 |
    88 |
    89 | 115 | 116 |
    117 | 118 | 127 | 128 | -------------------------------------------------------------------------------- /templates/apps/team_list/delete.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |
    9 | {% csrf_token %} 10 |

    Are you sure you want to delete "{{ object }}"?

    11 | 12 |
    13 | 14 | -------------------------------------------------------------------------------- /templates/apps/team_list/edit.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Preview Bootstrap snippets. Create new customer form 6 | 8 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 26 | 27 | 28 | 29 | 30 | 31 | 33 | 34 | 35 | 36 | 37 |
    38 | 39 | 40 |
    41 |
    42 |

    Create new customer

    45 |
    46 | 48 | 50 |
    51 |
    52 |
    53 | {% csrf_token %} 54 |
    55 |
    56 |
    57 |

    Contact

    58 |
    59 |
    60 |
    64 | 65 |
    66 |
    67 |
    71 |
    72 |
    73 |
    74 |
    75 | 76 | 77 |
    78 |
    79 | 80 |
    81 |
    82 |
    83 | 84 |
    85 |
    86 | 87 | 88 |
    89 |
    90 | 116 | 117 |
    118 | 119 | 128 | 129 | --------------------------------------------------------------------------------