from autoslug import AutoSlugField from django.db import models from imagekit.models import ProcessedImageField from tinymce.models import HTMLField from core.utils import image_optimizer # Create your models here. class Tags(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) tag = models.CharField(max_length=254, verbose_name="Post Tagları") created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=True, verbose_name='Yayındamı', choices=aktif) class Meta: ordering = ["-created_at"] db_table = 'tags' verbose_name_plural = "Post Tagları" verbose_name = "Post Tagı" def __str__(self): return self.tag class Home(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) name = models.CharField(max_length=254, verbose_name="İsim Soyisim ") title = models.CharField(max_length=254, verbose_name="Alt Yazi") button1 = models.CharField(max_length=254, verbose_name="Button 1") button2 = models.CharField(max_length=254, verbose_name="Button 2") video = models.URLField(verbose_name="Video Url", null=True, blank=True, default='https://www.youtube.com/watch?v=6zM4p_A0ISk') keywords = models.CharField(max_length=254, verbose_name="Seo Kelimeleri Aralarına Virgül Koyunuz") tags = models.ManyToManyField(Tags, verbose_name="Post Tagları", related_name='tags') image = ProcessedImageField(**image_optimizer('uploads/post', 400, 400, 90, 'avif'), null=True, blank=True) slug = AutoSlugField(populate_from='name', null=False, unique=True, editable=True, db_index=True, max_length=250, blank=True) created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'homes' verbose_name_plural = "Homes" verbose_name = "Home" unique_together = ('slug',) def get_slug(self): slug = self.name.replace('ı', "i").replace('İ', 'i') number = 1 while Home.objects.filter(slug=slug).exists(): slug = '{}-{}'.format(slug, number) number += 1 return slug def save(self, *args, **kwargs): if not self.slug: self.slug = self.get_slug() super().save(*args, **kwargs) def __str__(self): return f"Homes: {self.name}" class AboutMe(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) title = models.CharField(max_length=254, verbose_name="Hakkımda") image = ProcessedImageField(**image_optimizer('uploads/post', 400, 400, 90, 'avif'), null=True, blank=True) image_sub = HTMLField(blank=True, null=True, verbose_name='Resim Altındaki Yazı İçeriği') cv = models.FileField(upload_to='uploads/cv', null=True, blank=True) birthday = models.CharField(max_length=254, verbose_name="Yaş Günü", null=True, blank=True) city = models.CharField(max_length=254, verbose_name="Şehir", null=True, blank=True) study = models.CharField(max_length=254, verbose_name="Okulun", null=True, blank=True) website = models.CharField(max_length=254, verbose_name="Web Sitesi", null=True, blank=True) phone = models.CharField(max_length=254, verbose_name="Telefon", null=True, blank=True) age = models.CharField(max_length=5, verbose_name="Yaş", null=True, blank=True) interests = models.CharField(max_length=254, verbose_name="İlgi alanları", null=True, blank=True) degree = models.CharField(max_length=254, verbose_name="Derecelendirme", null=True, blank=True) x = models.CharField(max_length=254, verbose_name="x", null=True, blank=True) mail = models.CharField(max_length=254, verbose_name="E-Posta", null=True, blank=True) done = models.IntegerField(verbose_name="Tamamlanan Projeler", null=True, blank=True) project_done = models.CharField(max_length=254, verbose_name="Tamalangan Projeler", null=True, blank=True) user_h = models.IntegerField(verbose_name="Mutlu Kullanıcı Sayısı", null=True, blank=True) hapy_user = models.CharField(max_length=254, verbose_name="Mutlu Kullanıcı", null=True, blank=True) great = models.IntegerField(verbose_name="Yorum Sayısı", null=True, blank=True) great_reviews = models.CharField(max_length=254, verbose_name="Yorumlar", null=True, blank=True) team = models.IntegerField(verbose_name="Destek Takımı Sayısı", null=True, blank=True) support_team = models.CharField(max_length=254, verbose_name="Destek Takımı", null=True, blank=True) slug = AutoSlugField(populate_from='name', null=False, unique=True, editable=True, db_index=True, max_length=250, blank=True) created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Hakkımda Yayındamı ?', choices=aktif) counter_active = models.BooleanField(default=False, verbose_name='Sayaç Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'about' verbose_name_plural = "About Me" verbose_name = "About" unique_together = ('slug',) def get_slug(self): slug = self.title.replace('ı', "i").replace('İ', 'i') number = 1 while AboutMe.objects.filter(slug=slug).exists(): slug = '{}-{}'.format(slug, number) number += 1 return slug def save(self, *args, **kwargs): if not self.slug: self.slug = self.get_slug() super().save(*args, **kwargs) def __str__(self): return f"About Me: {self.title}" class MyService(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) title = models.CharField(max_length=254, verbose_name="Servis Başlığı ") content = HTMLField(blank=True, null=True, verbose_name='İçerik') image = ProcessedImageField(**image_optimizer('uploads/services', 256, 256, 90, 'png'), null=True, blank=True) slug = AutoSlugField(populate_from='name', null=False, unique=True, editable=True, db_index=True, max_length=250, blank=True) created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'services' verbose_name_plural = "Servislerim" verbose_name = "Servis" unique_together = ('slug',) def get_slug(self): slug = self.title.replace('ı', "i").replace('İ', 'i') number = 1 while Home.objects.filter(slug=slug).exists(): slug = '{}-{}'.format(slug, number) number += 1 return slug def save(self, *args, **kwargs): if not self.slug: self.slug = self.get_slug() super().save(*args, **kwargs) def __str__(self): return f"Services: {self.title}" class MyServiceTitle(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) title = models.CharField(max_length=254, verbose_name="Servis Başlığı ") title_sub = models.CharField(max_length=254, verbose_name="Servis Başlığı ") created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'services_title' verbose_name_plural = "Servislerim Başlıkları" verbose_name = "Servis Başlığı" def __str__(self): return f"Services: {self.title}" class MyResume(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) title = models.CharField(max_length=254, verbose_name="Başlık ") title_sub = models.CharField(max_length=254, verbose_name="Alt Başlığı ") education = models.CharField(max_length=100, verbose_name="Education", blank=True, null=True, default='Education') experience = models.CharField(max_length=100, verbose_name="Experience ", blank=True, null=True, default='Experience') coding_skills = models.CharField(max_length=100, verbose_name="Coding Skills ", blank=True, null=True, default='Coding Skills') knowledge = models.CharField(max_length=100, verbose_name="Knowledge ", blank=True, null=True, default='Knowledge') created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'resumes' verbose_name_plural = "MyResume" verbose_name = "MyResume" def __str__(self): return f"MyResume: {self.title}" class Education(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) between_years = models.CharField(max_length=50, verbose_name="Yıllar Arasında ") title = models.CharField(max_length=100, verbose_name="Başlık ") content = models.CharField(max_length=150, verbose_name="İçerik") resume = models.ForeignKey(MyResume, on_delete=models.CASCADE, null=True, blank=True, related_name='edu_resume') created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'educations' verbose_name_plural = "Education" verbose_name = "Education " def __str__(self): return f"Education: {self.title}" class Experience(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) between_years = models.CharField(max_length=50, verbose_name="Yıllar Arasında ") title = models.CharField(max_length=100, verbose_name="Başlık ") content = models.CharField(max_length=150, verbose_name="İçerik") resume = models.ForeignKey(MyResume, on_delete=models.CASCADE, null=True, blank=True, related_name='exp_resume') created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'experience' verbose_name_plural = "Experience " verbose_name = "Experience " def __str__(self): return f"Experience: {self.title}" class Skill(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) title = models.CharField(max_length=100, verbose_name="Başlık") degree = models.IntegerField(verbose_name="Derecelendirme ") resume = models.ForeignKey(MyResume, on_delete=models.CASCADE, null=True, blank=True, related_name='skill_resume') created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'skills' verbose_name_plural = "Skill" verbose_name = "Skill" def __str__(self): return f"Skill: {self.title}" class Knowledge(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) title = models.CharField(max_length=100, verbose_name="Başlık ") created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) resume = models.ForeignKey(MyResume, on_delete=models.CASCADE, null=True, blank=True, related_name='know_resume') class Meta: ordering = ["created_at"] db_table = 'knowledges' verbose_name_plural = "Knowledge" verbose_name = "Knowledge" def __str__(self): return f"Knowledge: {self.title}" class MainMenu(models.Model): aktif = ( (True, 'Evet'), (False, 'Hayır'), ) home = models.CharField(max_length=100, verbose_name="Home ") about = models.CharField(max_length=100, verbose_name="About ") services = models.CharField(max_length=100, verbose_name="Services ") resume = models.CharField(max_length=100, verbose_name="Resume ") portfolio = models.CharField(max_length=100, verbose_name="Portfolio ") contact = models.CharField(max_length=100, verbose_name="Contact ") created_at = models.DateTimeField(auto_now_add=True, editable=False, verbose_name="Oluşturulma Tarihi") updated_at = models.DateTimeField(auto_now=True, editable=False, verbose_name="Güncelleme Tarihi") is_active = models.BooleanField(default=False, verbose_name='Yayındamı ?', choices=aktif) class Meta: ordering = ["created_at"] db_table = 'mane_menu' verbose_name_plural = "MainMenu" verbose_name = "MainMenu" def __str__(self): return f"MainMenu: {self.home}" """ education = models.ForeignKey(Education, on_delete=models.CASCADE, null=True, blank=True) experience = models.ForeignKey(Experience, on_delete=models.CASCADE, null=True, blank=True) knowledge = models.ForeignKey(Knowledge, on_delete=models.CASCADE, null=True, blank=True) skill = models.ForeignKey(Skill, on_delete=models.CASCADE, null=True, blank=True) """