This commit is contained in:
2024-11-19 13:00:24 +07:00
commit 45e3c1f698
3462 changed files with 617437 additions and 0 deletions
View File
+4
View File
@@ -0,0 +1,4 @@
from django.contrib import admin
from project.models import *
admin.site.register(projectPageSEO)
+6
View File
@@ -0,0 +1,6 @@
from django.apps import AppConfig
class ProjectConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'project'
+13
View File
@@ -0,0 +1,13 @@
from django import forms
from project.models import *
# About Page SEO Form
class projectPageSEOForm(forms.ModelForm):
class Meta:
model = projectPageSEO
fields = '__all__'
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.fields.values():
field.widget.attrs['class'] = 'form-control'
+22
View File
@@ -0,0 +1,22 @@
# Generated by Django 4.2.4 on 2023-09-17 06:07
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='projectPageSEO',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('meta_title', models.CharField(blank=True, max_length=500, null=True)),
('meta_description', models.CharField(blank=True, max_length=1000, null=True)),
],
),
]
View File
+8
View File
@@ -0,0 +1,8 @@
from django.db import models
class projectPageSEO(models.Model):
meta_title = models.CharField(max_length=500, blank=True, null=True)
meta_description = models.CharField(max_length=1000, blank=True, null=True)
def __str__(self):
return self.meta_title
+3
View File
@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.
+7
View File
@@ -0,0 +1,7 @@
from django.urls import path
from project.views import *
urlpatterns = [
path('projects/', projectPageFront, name='projectPageFront'),
path('project/details/<str:slug>/', projectDetails, name='projectDetails'),
]
+41
View File
@@ -0,0 +1,41 @@
from django.shortcuts import render, get_object_or_404
from home.models import projectSection, projectCategory
from project.models import projectPageSEO
from django.core.paginator import Paginator, EmptyPage
def projectPageFront(request):
seo = projectPageSEO.objects.first()
project_categories = projectCategory.objects.all()
projects = projectSection.objects.all().order_by('?')
items_per_page = 9
paginator = Paginator(projects, items_per_page)
page_number = request.GET.get('page')
try:
projects = paginator.get_page(page_number)
except EmptyPage:
projects = paginator.get_page(paginator.num_pages)
context = {
'seo': seo,
'projects': projects,
'project_categories': project_categories,
}
return render(request, 'front/main/project.html', context)
def projectDetails(request, slug):
project = get_object_or_404(projectSection, slug=slug)
projects = projectSection.objects.exclude(slug=slug).order_by('?')
context = {
'project' : project,
'projects' : projects,
}
return render(request, 'front/main/partial/project-details.html', context)
def error_404(request, exception):
return render(request, 'error/404.html', status=404)