From 0d55853f03c98160559a611e1c989dd96c8d6d09 Mon Sep 17 00:00:00 2001 From: Markus Rosenstihl Date: Thu, 20 Mar 2025 22:05:44 +0100 Subject: [PATCH] db.sqlite3 filled with isotopes --- isotables/.idea/.gitignore | 8 ++ .../inspectionProfiles/profiles_settings.xml | 6 + isotables/.idea/isotables.iml | 16 +++ isotables/.idea/misc.xml | 7 + isotables/.idea/modules.xml | 8 ++ isotables/.idea/vcs.xml | 6 + isotables/db.sqlite3 | Bin 0 -> 151552 bytes isotables/fill_table.py | 29 ++++ isotables/isotables/__init__.py | 0 isotables/isotables/asgi.py | 16 +++ isotables/isotables/settings.py | 124 ++++++++++++++++++ isotables/isotables/urls.py | 23 ++++ isotables/isotables/wsgi.py | 16 +++ isotables/isotopapp/__init__.py | 0 isotables/isotopapp/admin.py | 3 + isotables/isotopapp/apps.py | 6 + isotables/isotopapp/models.py | 13 ++ isotables/isotopapp/templates/home.html | 26 ++++ isotables/isotopapp/templates/result.html | 15 +++ isotables/isotopapp/tests.py | 3 + isotables/isotopapp/urls.py | 8 ++ isotables/isotopapp/views.py | 25 ++++ isotables/manage.py | 22 ++++ requirements.txt | 1 + 24 files changed, 381 insertions(+) create mode 100644 isotables/.idea/.gitignore create mode 100644 isotables/.idea/inspectionProfiles/profiles_settings.xml create mode 100644 isotables/.idea/isotables.iml create mode 100644 isotables/.idea/misc.xml create mode 100644 isotables/.idea/modules.xml create mode 100644 isotables/.idea/vcs.xml create mode 100644 isotables/db.sqlite3 create mode 100644 isotables/fill_table.py create mode 100644 isotables/isotables/__init__.py create mode 100644 isotables/isotables/asgi.py create mode 100644 isotables/isotables/settings.py create mode 100644 isotables/isotables/urls.py create mode 100644 isotables/isotables/wsgi.py create mode 100644 isotables/isotopapp/__init__.py create mode 100644 isotables/isotopapp/admin.py create mode 100644 isotables/isotopapp/apps.py create mode 100644 isotables/isotopapp/models.py create mode 100644 isotables/isotopapp/templates/home.html create mode 100644 isotables/isotopapp/templates/result.html create mode 100644 isotables/isotopapp/tests.py create mode 100644 isotables/isotopapp/urls.py create mode 100644 isotables/isotopapp/views.py create mode 100755 isotables/manage.py create mode 100644 requirements.txt diff --git a/isotables/.idea/.gitignore b/isotables/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/isotables/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/isotables/.idea/inspectionProfiles/profiles_settings.xml b/isotables/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 0000000..105ce2d --- /dev/null +++ b/isotables/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/isotables/.idea/isotables.iml b/isotables/.idea/isotables.iml new file mode 100644 index 0000000..4b9c83a --- /dev/null +++ b/isotables/.idea/isotables.iml @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/isotables/.idea/misc.xml b/isotables/.idea/misc.xml new file mode 100644 index 0000000..dd52383 --- /dev/null +++ b/isotables/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/isotables/.idea/modules.xml b/isotables/.idea/modules.xml new file mode 100644 index 0000000..6a4cfe8 --- /dev/null +++ b/isotables/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/isotables/.idea/vcs.xml b/isotables/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/isotables/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/isotables/db.sqlite3 b/isotables/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..9538921be93f3cbf067481d01b40c0c3ef9bfccf GIT binary patch literal 151552 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 +

Basic Calculator

+ +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/isotables/isotopapp/templates/result.html b/isotables/isotopapp/templates/result.html new file mode 100644 index 0000000..df708ca --- /dev/null +++ b/isotables/isotopapp/templates/result.html @@ -0,0 +1,15 @@ +
+ The result is: +

{{ans}}

+ + Go Back +
+ + diff --git a/isotables/isotopapp/tests.py b/isotables/isotopapp/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/isotables/isotopapp/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/isotables/isotopapp/urls.py b/isotables/isotopapp/urls.py new file mode 100644 index 0000000..2914558 --- /dev/null +++ b/isotables/isotopapp/urls.py @@ -0,0 +1,8 @@ +from django.urls import path +from . import views +urlpatterns = [ + path('', views.home, name='home'), + path('result/', views.result, name='result'), + ] + + diff --git a/isotables/isotopapp/views.py b/isotables/isotopapp/views.py new file mode 100644 index 0000000..7bd9ab7 --- /dev/null +++ b/isotables/isotopapp/views.py @@ -0,0 +1,25 @@ +from django.shortcuts import render + +# Create your views here. + +def home(request): + return render(request, 'home.html') + +def result(request): + num1 = int(request.GET.get('number1')) + num2 = int(request.GET.get('number2')) + + + if request.GET.get('add') == "": + ans = num1 + num2 + + elif request.GET.get('subtract') == "": + ans = num1 - num2 + + elif request.GET.get('multiply') == "": + ans = num1 * num2 + + else: + ans = num1 / num2 + + return render(request, 'result.html', {'ans': ans}) diff --git a/isotables/manage.py b/isotables/manage.py new file mode 100755 index 0000000..50d0b8b --- /dev/null +++ b/isotables/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'isotables.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ee40f0f --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +Django==5.1.6