Kategorie_mit_Farbpunkt
This commit is contained in:
@@ -30,10 +30,35 @@ class QuizImageAdmin(admin.ModelAdmin):
|
||||
class QuestionImageAdmin(admin.ModelAdmin):
|
||||
list_display = ('image',)
|
||||
|
||||
|
||||
from django import forms
|
||||
from .models import QuizCategory
|
||||
|
||||
class QuizCategoryForm(forms.ModelForm):
|
||||
color = forms.CharField(
|
||||
widget=forms.TextInput(attrs={'type': 'color'})
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = QuizCategory
|
||||
fields = '__all__'
|
||||
from django.utils.html import format_html
|
||||
@admin.register(QuizCategory)
|
||||
class QuizCategoryAdmin(admin.ModelAdmin):
|
||||
form = QuizCategoryForm
|
||||
list_display = ('name', 'color_preview', 'color')
|
||||
|
||||
def color_preview(self, obj):
|
||||
return format_html(
|
||||
'<div style="width: 24px; height: 24px; background-color: {}; border: 2px solid #000;"></div>',
|
||||
obj.color
|
||||
)
|
||||
color_preview.short_description = "Farbe"
|
||||
|
||||
# Registrierung der Modelle im Admin
|
||||
admin.site.register(QivipQuiz, QivipQuizAdmin)
|
||||
admin.site.register(QivipQuestion, QivipQuestionAdmin)
|
||||
admin.site.register(QuizCategory, QuizCategoryAdmin)
|
||||
#admin.site.register(QuizCategory, QuizCategoryAdmin)
|
||||
admin.site.register(QivipQuizFavorite, QivipQuizFavoriteAdmin)
|
||||
admin.site.register(QuizImage, QuizImageAdmin)
|
||||
admin.site.register(QuestionImage, QuestionImageAdmin)
|
||||
18
django/library/migrations/0057_quizcategory_color.py
Normal file
18
django/library/migrations/0057_quizcategory_color.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.1.7 on 2025-07-02 11:31
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('library', '0056_alter_quizrating_unique_together'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='quizcategory',
|
||||
name='color',
|
||||
field=models.CharField(default='#000000', help_text='Farbe als Hex-Code, z.B. #ff0000', max_length=7),
|
||||
),
|
||||
]
|
||||
@@ -148,6 +148,12 @@ class QuizCategory(models.Model):
|
||||
name = models.CharField(max_length=100, unique=True)
|
||||
description = models.TextField(blank=True, null=True)
|
||||
slug = models.SlugField(unique=True, blank=True)
|
||||
color= models.CharField(
|
||||
max_length=7,
|
||||
default="#000000",
|
||||
help_text="Farbe als Hex-Code, z.B. #ff0000"
|
||||
)
|
||||
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
if not self.slug:
|
||||
|
||||
Reference in New Issue
Block a user