small_changes_Datenbank
This commit is contained in:
18
django/library/migrations/0021_alter_qivipquiz_name.py
Normal file
18
django/library/migrations/0021_alter_qivipquiz_name.py
Normal file
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.1.7 on 2025-03-16 14:34
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('library', '0020_alter_qivipquiz_description'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='qivipquiz',
|
||||
name='name',
|
||||
field=models.CharField(max_length=100),
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,24 @@
|
||||
# Generated by Django 5.1.7 on 2025-03-16 14:35
|
||||
|
||||
import library.models
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('library', '0021_alter_qivipquiz_name'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='qivipquiz',
|
||||
name='description',
|
||||
field=models.TextField(default='In dem Quiz geht es um ...', max_length=200, validators=[library.models.QivipQuiz.validate_description]),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='qivipquiz',
|
||||
name='name',
|
||||
field=models.CharField(max_length=75),
|
||||
),
|
||||
]
|
||||
@@ -32,8 +32,8 @@ class QivipQuiz(models.Model):
|
||||
status = models.CharField(max_length=10, choices=list(STATUS_VALUES.items()), default="öffentlich")
|
||||
category = models.ForeignKey('QuizCategory', related_name='quiz', on_delete=models.CASCADE)
|
||||
tags = models.ManyToManyField('Tag', blank=True)
|
||||
name = models.CharField(max_length=255)
|
||||
description = models.TextField(validators=[validate_description],max_length=255,blank=False, default="In dem Quiz geht es um ...")
|
||||
name = models.CharField(max_length=75)
|
||||
description = models.TextField(validators=[validate_description],max_length=200,blank=False, default="In dem Quiz geht es um ...")
|
||||
difficulty= models.CharField(max_length=13, choices=list(DIFFICULTY_VALUES.items()), default="nicht gesetzt", help_text="1: niedrigste Schwierigkeit und 5: höchste Schwierigkeit")
|
||||
|
||||
def __str__(self):
|
||||
|
||||
@@ -11,7 +11,7 @@ from django.core.paginator import Paginator
|
||||
@login_required
|
||||
def overview_quiz(request):
|
||||
quizzes = QivipQuiz.objects.filter(user_id=request.user)
|
||||
all_quizzes = QivipQuiz.objects.filter(status='öffentlich').exclude(user_id=request.user)
|
||||
all_quizzes = QivipQuiz.objects.filter(status='öffentlich').exclude(user_id=request.user).filter(question__isnull=False).distinct()
|
||||
return render(request, 'library/overview_quiz.html', {'quizzes': quizzes, 'all_quizzes': all_quizzes})
|
||||
|
||||
# Neues Quiz erstellen
|
||||
|
||||
@@ -4,13 +4,16 @@
|
||||
<div class="flex justify-end mr-2">
|
||||
<a href="{% url 'library:new_quiz' %}" class="mt-2 p-2 shadow-md border-blue-600 border-2 rounded-md text-black mb-12">Neues Quiz erstellen</a>
|
||||
</div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 px-4 place-items-center"> <h1 class="font-bold mb-4">meine eigenen Quiz</h1></div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 px-4 place-items-center">
|
||||
<h1 class="font-bold mb-4 px-4 bg-blue-100">meine eigenen Quiz</h1></div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 px-4 place-items-center">
|
||||
{% for quiz in quizzes %}
|
||||
<div class="bg-white w-full max-w-md rounded-lg p-4 shadow-md border-blue-600 border-2 rounded-xl">
|
||||
<h2 class="text-lg font-bold"><a href="{% url 'library:edit_quiz' quiz.id %}">{{ quiz.name }}</a></h2>
|
||||
<p class="text-sm text-gray-600 py-12">{{ quiz.description }} <br> Status: <span class="font-bold">{{ quiz.status }}</span>
|
||||
<br> Schwierigkeit:<span class="font-bold"> {{ quiz.difficulty }}</span> </p>
|
||||
<div class="bg-white w-full max-w-md rounded-lg p-4 shadow-md border-blue-600 border-2 rounded-xl h-80 ">
|
||||
<h2 class="text-lg font-bold break-words truncate"><a href="{% url 'library:edit_quiz' quiz.id %}">{{ quiz.name }}</a></h2>
|
||||
<p class="text-sm text-gray-600 pt-11 h-54"><span class="break-words line-clamp-2">{{ quiz.description }} </span><br> Status: <span class="font-bold">{{ quiz.status }}</span>
|
||||
<br> Schwierigkeit:<span class="font-bold"> {{ quiz.difficulty }}</span>
|
||||
<br> Anzahl der Fragen:<span class="font-bold"> {{ quiz.question.count }}</span> </p>
|
||||
|
||||
|
||||
<div>
|
||||
<div class="flex justify-between items-center gap-2">
|
||||
@@ -27,14 +30,18 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 px-4 place-items-center"> <h1 class="font-bold mt-8 mb-4">Quiz von anderen Nutzern</h1></div>
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 px-4 place-items-center">
|
||||
<h1 class="font-bold px-4 bg-blue-100 mt-8 mb-4">Quiz von anderen Nutzern</h1></div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4 px-4 place-items-center">
|
||||
{% for quiz in all_quizzes %}
|
||||
|
||||
<div class="bg-white w-full max-w-md rounded-lg p-4 shadow-md border-blue-600 border-2 rounded-xl">
|
||||
<h2 class="text-lg font-bold">{{ quiz.name }}</h2>
|
||||
<p class="text-sm text-gray-600 py-12">{{ quiz.description }} <br> Schwierigkeit:<span class="font-bold"> {{ quiz.difficulty }}</span></p>
|
||||
<div class="h-80 bg-white w-full max-w-md rounded-lg p-4 shadow-md border-blue-600 border-2 rounded-xl ">
|
||||
<h2 class="text-lg font-bold break-words truncate">{{ quiz.name }}</h2>
|
||||
<p class="text-sm text-gray-600 pt-11 h-54"><span class="break-words line-clamp-2">{{ quiz.description }} </span> <br> Schwierigkeit:<span class="font-bold ">
|
||||
{{ quiz.difficulty }}</span><br> Anzahl der Fragen:<span class="font-bold"> {{ quiz.question.count }}</span>
|
||||
<br>Erstmalig erstellt am:<span class="font-bold"> {{ quiz.creation_date }}</span>
|
||||
</p>
|
||||
<div>
|
||||
<div class="flex justify-between items-center gap-2">
|
||||
<a href="#" class="qp-a-button-small border-2 border-blue-600 text-black">Spiel starten</a>
|
||||
|
||||
Reference in New Issue
Block a user