From 56d303785628addccae339942025ede2f00ea933 Mon Sep 17 00:00:00 2001 From: DerTyp187 Date: Wed, 10 Nov 2021 09:53:46 +0100 Subject: [PATCH] added models --- TealCode/main/admin.py | 4 ++- TealCode/main/migrations/0001_initial.py | 23 +++++++++++++ .../migrations/0002_auto_20211110_0912.py | 30 +++++++++++++++++ TealCode/main/models.py | 19 ++++++++++- TealCode/main/templates/main/category.html | 4 +++ TealCode/main/templates/main/topic.html | 9 +++--- TealCode/main/views.py | 32 +++++++++++++++++-- 7 files changed, 111 insertions(+), 10 deletions(-) create mode 100644 TealCode/main/migrations/0001_initial.py create mode 100644 TealCode/main/migrations/0002_auto_20211110_0912.py diff --git a/TealCode/main/admin.py b/TealCode/main/admin.py index 8c38f3f..142aea1 100644 --- a/TealCode/main/admin.py +++ b/TealCode/main/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin +from .models import Category, Topic -# Register your models here. +admin.site.register(Category) +admin.site.register(Topic) \ No newline at end of file diff --git a/TealCode/main/migrations/0001_initial.py b/TealCode/main/migrations/0001_initial.py new file mode 100644 index 0000000..3a863d3 --- /dev/null +++ b/TealCode/main/migrations/0001_initial.py @@ -0,0 +1,23 @@ +# Generated by Django 3.2.9 on 2021-11-10 07:58 + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Category', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=100)), + ('date_created', models.DateTimeField(default=django.utils.timezone.now)), + ], + ), + ] diff --git a/TealCode/main/migrations/0002_auto_20211110_0912.py b/TealCode/main/migrations/0002_auto_20211110_0912.py new file mode 100644 index 0000000..58ca11b --- /dev/null +++ b/TealCode/main/migrations/0002_auto_20211110_0912.py @@ -0,0 +1,30 @@ +# Generated by Django 3.2.9 on 2021-11-10 08:12 + +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('main', '0001_initial'), + ] + + operations = [ + migrations.AlterField( + model_name='category', + name='title', + field=models.CharField(max_length=100, unique=True), + ), + migrations.CreateModel( + name='Topic', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('title', models.CharField(max_length=200)), + ('code_text', models.TextField()), + ('date_created', models.DateTimeField(default=django.utils.timezone.now)), + ('category', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='main.category')), + ], + ), + ] diff --git a/TealCode/main/models.py b/TealCode/main/models.py index 71a8362..fe36db6 100644 --- a/TealCode/main/models.py +++ b/TealCode/main/models.py @@ -1,3 +1,20 @@ from django.db import models +from django.db.models.fields.related import ForeignKey +from django.utils import timezone -# Create your models here. +class Category(models.Model): + title = models.CharField(max_length=100, unique=True) + date_created = models.DateTimeField(default=timezone.now) + + def __str__(self): + return self.title + + +class Topic(models.Model): + title = models.CharField(max_length= 200) + code_text = models.TextField() + date_created = models.DateTimeField(default=timezone.now) + category = models.ForeignKey(Category, on_delete=models.CASCADE) + + def __str__(self): + return self.category.title + " - " + self.title diff --git a/TealCode/main/templates/main/category.html b/TealCode/main/templates/main/category.html index 965d0de..7b1aaa7 100644 --- a/TealCode/main/templates/main/category.html +++ b/TealCode/main/templates/main/category.html @@ -1,5 +1,9 @@ {% extends "main/base.html" %} {% block content %} + +
+

{{ category_obj.title }}

+
diff --git a/TealCode/main/templates/main/topic.html b/TealCode/main/templates/main/topic.html index 6c5c578..f7c69fe 100644 --- a/TealCode/main/templates/main/topic.html +++ b/TealCode/main/templates/main/topic.html @@ -1,12 +1,11 @@ {% extends "main/base.html" %} {% block content %}
-

How To Convert a String to Int

+

{{ title }}

-
-
int c;
-    c = int.c * t/g;
-
+
+
{{code}}
+
{% endblock content %} \ No newline at end of file diff --git a/TealCode/main/views.py b/TealCode/main/views.py index 7e0e0d6..8bb1103 100644 --- a/TealCode/main/views.py +++ b/TealCode/main/views.py @@ -1,10 +1,36 @@ -from django.shortcuts import render +from django.shortcuts import render, redirect +from .models import Category, Topic def index(req): return render(req, "main/index.html") def topic(req, category, topic): - return render(req, "main/topic.html") + + if topic and category: + category_obj = Category.objects.filter(title = category).first() + if category_obj: + topic_obj = Topic.objects.filter(title=topic, category = category_obj).first() + if topic_obj: + context = { + 'title': topic_obj.title, + 'code': topic_obj.code_text, + 'category_title': category_obj.title, + } + + return render(req, "main/topic.html", context) + + return redirect("main-index") + + def category(req, category): - return render(req, "main/category.html") \ No newline at end of file + + if category: + category_obj = Category.objects.filter(title = category).first() + if category_obj: + return render(req, "main/category.html", {'category_obj': category_obj}) + + + return redirect("main-index") + +