This commit is contained in:
2026-04-23 13:57:56 -06:00
parent 0c6de0babe
commit 028ea6e5f9
93 changed files with 321 additions and 1454 deletions

View File

@@ -1,6 +1,8 @@
from django.db import models
from account.models import User
class Tutorial(models.Model):
TYPE_CHOICES = [
('python', 'Python'),

View File

@@ -1,7 +1,9 @@
from rest_framework import serializers
from .models import Tutorial, Exercise
from account.serializers import UserSerializer
from .models import Exercise, Tutorial
class TutorialListSerializer(serializers.ModelSerializer):
created_by = UserSerializer(read_only=True)

View File

@@ -1,5 +1,6 @@
from django.urls import path
from ..views.admin import TutorialAdminAPI, TutorialVisibilityAPI, ExerciseAdminAPI
from ..views.admin import ExerciseAdminAPI, TutorialAdminAPI, TutorialVisibilityAPI
urlpatterns = [
path("tutorial", TutorialAdminAPI.as_view()),

View File

@@ -1,5 +1,6 @@
from django.urls import path
from ..views.oj import TutorialAPI, TutorialTitlesAPI, ExerciseAPI
from ..views.oj import ExerciseAPI, TutorialAPI, TutorialTitlesAPI
urlpatterns = [
path("tutorial", TutorialAPI.as_view()),

View File

@@ -1,16 +1,15 @@
from account.decorators import super_admin_required
from utils.api import APIView, validate_serializer
from tutorial.models import Tutorial, Exercise
from tutorial.models import Exercise, Tutorial
from tutorial.serializers import (
TutorialSerializer,
TutorialListSerializer,
CreateExerciseSerializer,
CreateTutorialSerializer,
EditExerciseSerializer,
EditTutorialSerializer,
ExerciseSerializer,
CreateExerciseSerializer,
EditExerciseSerializer,
TutorialListSerializer,
TutorialSerializer,
)
from utils.api import APIView, validate_serializer
class TutorialAdminAPI(APIView):

View File

@@ -1,8 +1,7 @@
from tutorial.models import Exercise, Tutorial
from tutorial.serializers import ExerciseSerializer, TutorialSerializer
from utils.api import APIView
from tutorial.models import Tutorial, Exercise
from tutorial.serializers import TutorialSerializer, ExerciseSerializer
class TutorialAPI(APIView):
def get(self, request):