from django.contrib import admin from django.utils.safestring import mark_safe from blog.models import Category, Tags, Post, Comment, CategoryView # Register your models here. class PostAdmin(admin.ModelAdmin): list_display = ('title', 'post_resim', 'is_active', 'post_kategorileri', 'slug') list_filter = ('is_active', 'categories') search_fields = ('title', 'is_active', 'slug', 'content') list_editable = ('is_active', 'slug',) # Removed 'price' as it is not a field class Meta: model = Post def save_model(self, request, obj, form, change): """Admin'de kaydetme sırasında image'ı thumb'a da kopyala""" # Model save metodu zaten bu işi yapıyor, buradaki koda gerek yok aslında # ama form üzerinden gelen veriyi kontrol etmek için bırakılabilir. # Ancak model save metodundaki mantık daha sağlam olduğu için burayı sadeleştiriyoruz. super().save_model(request, obj, form, change) def formatted_hit_count(self, obj): return obj.current_hit_count if obj.current_hit_count > 0 else '-' formatted_hit_count.admin_order_field = 'hit_count' formatted_hit_count.short_description = 'Hits' def post_tags(self, obj): tags = '' return mark_safe(tags) def post_kategorileri(self, obj): html = '' return mark_safe(html) def post_resim(self, obj): if obj.image: # Uygulama adı 'blog' olduğu için URL yapısı /admin/blog/post/... olmalı return mark_safe( ''.format( obj.id, obj.image.url)) return mark_safe('Resim Yok') post_resim.short_description = 'Kurs Resmi' admin.site.register(Post, PostAdmin) class CategoryAdmin(admin.ModelAdmin): list_display = ('title', 'parent_category', 'is_active', 'created_at', 'order') # Removed 'view_count' and 'unique_view_count' list_filter = ('title', 'is_active', 'created_at', 'parent') search_fields = ('title', 'is_active', 'slug') list_editable = ('is_active', 'order') class Meta: model = Category def parent_category(self, obj): if obj.parent: return obj.parent.title return "Ana Kategori" parent_category.short_description = 'Üst Kategori' admin.site.register(Category, CategoryAdmin) class TagsAdmin(admin.ModelAdmin): list_display = ('tag', 'created_at',) list_filter = ('tag',) search_fields = ('tag',) class Meta: model = Tags admin.site.register(Tags, TagsAdmin) class CategoryViewAdmin(admin.ModelAdmin): list_display = ('category', 'ip_address', 'created_at') list_filter = ('created_at', 'category') search_fields = ('ip_address', 'category__title') readonly_fields = ('category', 'ip_address', 'user_agent', 'created_at') class Meta: model = CategoryView admin.site.register(CategoryView, CategoryViewAdmin) admin.site.register(Comment)