diff --git a/Code/zeke/Django Mastake/manage.py b/Code/zeke/Django Mastake/manage.py
new file mode 100755
index 00000000..75829b38
--- /dev/null
+++ b/Code/zeke/Django Mastake/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', 'rps_proj.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/Code/zeke/Django Mastake/rps_app/__init__.py b/Code/zeke/Django Mastake/rps_app/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/Django Mastake/rps_app/admin.py b/Code/zeke/Django Mastake/rps_app/admin.py
new file mode 100644
index 00000000..8c38f3f3
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/Code/zeke/Django Mastake/rps_app/apps.py b/Code/zeke/Django Mastake/rps_app/apps.py
new file mode 100644
index 00000000..6da1c1c6
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class RpsAppConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'rps_app'
diff --git a/Code/zeke/Django Mastake/rps_app/migrations/__init__.py b/Code/zeke/Django Mastake/rps_app/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/Django Mastake/rps_app/models.py b/Code/zeke/Django Mastake/rps_app/models.py
new file mode 100644
index 00000000..71a83623
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/Code/zeke/Django Mastake/rps_app/templates/rps_app/index.html b/Code/zeke/Django Mastake/rps_app/templates/rps_app/index.html
new file mode 100644
index 00000000..469a88ac
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/templates/rps_app/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Rock Paper Scissors
+
+
+
Welcome to RPS
+
Please select a choice:
+
+
+
\ No newline at end of file
diff --git a/Code/zeke/Django Mastake/rps_app/templates/rps_app/results.html b/Code/zeke/Django Mastake/rps_app/templates/rps_app/results.html
new file mode 100644
index 00000000..974d2954
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/templates/rps_app/results.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ Results
+
+
+
Congrates. You win!
+
+
+
\ No newline at end of file
diff --git a/Code/zeke/Django Mastake/rps_app/tests.py b/Code/zeke/Django Mastake/rps_app/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/Code/zeke/Django Mastake/rps_app/urls.py b/Code/zeke/Django Mastake/rps_app/urls.py
new file mode 100644
index 00000000..81be6ceb
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/urls.py
@@ -0,0 +1,11 @@
+from django.urls import path, include
+from . import views
+
+urlpatterns = [
+
+ #manage 8000/
+ path('',views.index, name='index'),
+
+ #manage 8000?
+ path('result/', views.result, name='result' )
+]
diff --git a/Code/zeke/Django Mastake/rps_app/views.py b/Code/zeke/Django Mastake/rps_app/views.py
new file mode 100644
index 00000000..0e050d45
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_app/views.py
@@ -0,0 +1,8 @@
+from django.shortcuts import render
+
+# Create your views here.
+def index(request):
+ return render(request, 'rps_app/index.html')
+
+def results(request):
+ return render(request, 'rps_app/results.html')
diff --git a/Code/zeke/Django Mastake/rps_proj/__init__.py b/Code/zeke/Django Mastake/rps_proj/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/Django Mastake/rps_proj/asgi.py b/Code/zeke/Django Mastake/rps_proj/asgi.py
new file mode 100644
index 00000000..64c8e196
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_proj/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for rps_proj project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rps_proj.settings')
+
+application = get_asgi_application()
diff --git a/Code/zeke/Django Mastake/rps_proj/settings.py b/Code/zeke/Django Mastake/rps_proj/settings.py
new file mode 100644
index 00000000..b549b01e
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_proj/settings.py
@@ -0,0 +1,123 @@
+"""
+Django settings for rps_proj project.
+
+Generated by 'django-admin startproject' using Django 4.0.3.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-hhtpe7c*xe)i4(+zpn_#ygs!ako@0pq@o_jw-!x)%s3lk(k-+='
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'rps_proj.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'rps_proj.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'America/Los_Angeles'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
diff --git a/Code/zeke/Django Mastake/rps_proj/urls.py b/Code/zeke/Django Mastake/rps_proj/urls.py
new file mode 100644
index 00000000..9e44eb88
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_proj/urls.py
@@ -0,0 +1,22 @@
+"""rps_proj URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path, include
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('rps/', include('rps_app'))
+]
diff --git a/Code/zeke/Django Mastake/rps_proj/wsgi.py b/Code/zeke/Django Mastake/rps_proj/wsgi.py
new file mode 100644
index 00000000..0ee160a2
--- /dev/null
+++ b/Code/zeke/Django Mastake/rps_proj/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for rps_proj project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rps_proj.settings')
+
+application = get_wsgi_application()
diff --git a/Code/zeke/django/Grocery2/grocery_app/__init__.py b/Code/zeke/django/Grocery2/grocery_app/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/Grocery2/grocery_app/admin.py b/Code/zeke/django/Grocery2/grocery_app/admin.py
new file mode 100644
index 00000000..1201be3a
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/admin.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+from .models import *
+
+# Register your models here.
+admin.site.register(Department)
+admin.site.register(GroceryItem)
\ No newline at end of file
diff --git a/Code/zeke/django/Grocery2/grocery_app/apps.py b/Code/zeke/django/Grocery2/grocery_app/apps.py
new file mode 100644
index 00000000..87b0bfcb
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class GroceryAppConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'grocery_app'
diff --git a/Code/zeke/django/Grocery2/grocery_app/migrations/0001_initial.py b/Code/zeke/django/Grocery2/grocery_app/migrations/0001_initial.py
new file mode 100644
index 00000000..4683b4b1
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/migrations/0001_initial.py
@@ -0,0 +1,31 @@
+# Generated by Django 4.0.3 on 2022-04-14 02:16
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Department',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=20)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='GroceryItem',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('item', models.CharField(max_length=40)),
+ ('completed', models.BooleanField(default=False)),
+ ('department', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='items', to='grocery_app.department')),
+ ],
+ ),
+ ]
diff --git a/Code/zeke/django/Grocery2/grocery_app/migrations/__init__.py b/Code/zeke/django/Grocery2/grocery_app/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/Grocery2/grocery_app/models.py b/Code/zeke/django/Grocery2/grocery_app/models.py
new file mode 100644
index 00000000..d5a57e3c
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/models.py
@@ -0,0 +1,16 @@
+from django.db import models
+
+# Create your models here.
+class Department(models.Model):
+ name=models.CharField(max_length=20)
+
+ def __str__(self) :
+ return f'{self.name}'
+
+class GroceryItem(models.Model):
+ item=models.CharField(max_length=40)
+ completed = models.BooleanField(default=False)
+ department = models.ForeignKey(Department, on_delete=models.CASCADE, related_name='items', null=True, blank=True)
+
+ def __str__(self):
+ return f'{self.item} -- {self.completed}'
\ No newline at end of file
diff --git a/Code/zeke/django/Grocery2/grocery_app/templates/grocery_app/index.html b/Code/zeke/django/Grocery2/grocery_app/templates/grocery_app/index.html
new file mode 100644
index 00000000..5d3a9085
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/templates/grocery_app/index.html
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+ Grocery
+
+
+
My Grocery
+
+
+
+
\ No newline at end of file
diff --git a/Code/zeke/django/Grocery2/grocery_app/tests.py b/Code/zeke/django/Grocery2/grocery_app/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/Code/zeke/django/Grocery2/grocery_app/urls.py b/Code/zeke/django/Grocery2/grocery_app/urls.py
new file mode 100644
index 00000000..49bbc043
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/urls.py
@@ -0,0 +1,11 @@
+from django.urls import path
+from .import views
+
+app_name = 'grocery_list'
+urlpatterns =[
+
+ path('',views.index,name='index'),
+ path('add_item', views.add_item, name='add'),
+ path('buy//', views.buy_item, name='buy'),
+ path('delete//', views.delete_item, name='delete'),
+]
\ No newline at end of file
diff --git a/Code/zeke/django/Grocery2/grocery_app/views.py b/Code/zeke/django/Grocery2/grocery_app/views.py
new file mode 100644
index 00000000..a339a99c
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_app/views.py
@@ -0,0 +1,38 @@
+from django.shortcuts import render
+from .models import *
+from django.http import HttpResponseRedirect
+from django.urls import reverse
+
+
+# Create your views here.
+def index(request):
+ grocery_list = GroceryItem.objects.all().order_by('department')
+ departments = Department.objects.all().order_by('name')
+
+
+ return render(request, 'grocery_app/index.html',{
+ 'grocery_list': grocery_list,
+ 'departments' : departments
+ })
+def add_item(request):
+ item_text = request.POST['item']
+ department_id = request.POST['department']
+ new_item = GroceryItem()
+ new_item.item = item_text
+ if department_id:
+ department = Department.objects.get(id=department_id)
+ new_item.department = department
+
+ new_item.save()
+ return HttpResponseRedirect(reverse('grocery_list:index'))
+
+def buy_item(request, item_id):
+ grocery_item = GroceryItem.objects.get(id=item_id)
+ grocery_item.completed = not grocery_item.completed
+ grocery_item.save()
+ return HttpResponseRedirect(reverse('grocery_list:index'))
+
+def delete_item(request, item_id):
+ grocery_item = GroceryItem.objects.get(id=item_id)
+ grocery_item.delete()
+ return HttpResponseRedirect(reverse('grocery_list:index'))
diff --git a/Code/zeke/django/Grocery2/grocery_proj/__init__.py b/Code/zeke/django/Grocery2/grocery_proj/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/Grocery2/grocery_proj/asgi.py b/Code/zeke/django/Grocery2/grocery_proj/asgi.py
new file mode 100644
index 00000000..9012ee82
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_proj/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for grocery_proj project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'grocery_proj.settings')
+
+application = get_asgi_application()
diff --git a/Code/zeke/django/Grocery2/grocery_proj/settings.py b/Code/zeke/django/Grocery2/grocery_proj/settings.py
new file mode 100644
index 00000000..c4049329
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_proj/settings.py
@@ -0,0 +1,124 @@
+"""
+Django settings for grocery_proj project.
+
+Generated by 'django-admin startproject' using Django 4.0.3.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-8!&3%+al8l@^1r1-z%cixy$ghns&q9#ibpt@97%ewe^ip^w#4k'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'grocery_app'
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'grocery_proj.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'grocery_proj.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'America/Los_Angeles'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
diff --git a/Code/zeke/django/Grocery2/grocery_proj/urls.py b/Code/zeke/django/Grocery2/grocery_proj/urls.py
new file mode 100644
index 00000000..bcd57905
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_proj/urls.py
@@ -0,0 +1,22 @@
+"""grocery_proj URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path, include
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('grocery/', include('grocery_app.urls'))
+]
diff --git a/Code/zeke/django/Grocery2/grocery_proj/wsgi.py b/Code/zeke/django/Grocery2/grocery_proj/wsgi.py
new file mode 100644
index 00000000..567bce68
--- /dev/null
+++ b/Code/zeke/django/Grocery2/grocery_proj/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for grocery_proj project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'grocery_proj.settings')
+
+application = get_wsgi_application()
diff --git a/Code/zeke/django/Grocery2/manage.py b/Code/zeke/django/Grocery2/manage.py
new file mode 100755
index 00000000..f97e4e6d
--- /dev/null
+++ b/Code/zeke/django/Grocery2/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', 'grocery_proj.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/Code/zeke/django/grocery_folder/grocery_app/__init__.py b/Code/zeke/django/grocery_folder/grocery_app/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/grocery_folder/grocery_app/admin.py b/Code/zeke/django/grocery_folder/grocery_app/admin.py
new file mode 100644
index 00000000..114a98bb
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_app/admin.py
@@ -0,0 +1,5 @@
+from django.contrib import admin
+from .models import *
+# Register your models here.
+admin.site.register(Department)
+admin.site.register(GroceryItem)
\ No newline at end of file
diff --git a/Code/zeke/django/grocery_folder/grocery_app/apps.py b/Code/zeke/django/grocery_folder/grocery_app/apps.py
new file mode 100644
index 00000000..87b0bfcb
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_app/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class GroceryAppConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'grocery_app'
diff --git a/Code/zeke/django/grocery_folder/grocery_app/migrations/__init__.py b/Code/zeke/django/grocery_folder/grocery_app/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/grocery_folder/grocery_app/models.py b/Code/zeke/django/grocery_folder/grocery_app/models.py
new file mode 100644
index 00000000..b2afd266
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_app/models.py
@@ -0,0 +1,19 @@
+from django.db import models
+from django.shortcuts import render
+from django import forms
+
+
+# Create your models here.
+class Department (models.Model):
+ name = models.CharField(max_length=120)
+
+ def __str__(self):
+ return f'{self.name}'
+
+class GroceryItem(models.Model):
+ item= models.CharField(max_length=40)
+ completed = models.BooleanField(default=False)
+ department = models.ForeignKey(Department, on_delete=models.CASCADE, related_name='items', null=True, blank=True)
+
+ def __str__(self):
+ return f'{self.item} -- {self.completed}'
\ No newline at end of file
diff --git a/Code/zeke/django/grocery_folder/grocery_app/templates/index.html b/Code/zeke/django/grocery_folder/grocery_app/templates/index.html
new file mode 100644
index 00000000..182676bc
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_app/templates/index.html
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+ Grocery
+
+
+
My Grocery
+
+ {{grocery_list}}
+
+ {{deparments}}
+
+
\ No newline at end of file
diff --git a/Code/zeke/django/grocery_folder/grocery_app/tests.py b/Code/zeke/django/grocery_folder/grocery_app/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_app/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/Code/zeke/django/grocery_folder/grocery_app/views.py b/Code/zeke/django/grocery_folder/grocery_app/views.py
new file mode 100644
index 00000000..e9a4103a
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_app/views.py
@@ -0,0 +1,13 @@
+from django.shortcuts import render
+
+# Create your views here.
+
+def index(request):
+ return render(request, 'grocery_app/index.html')
+ grocery_list = models.GroceryItem.objects.all().order_by('department')
+ departments = models.Department.objects.all().order_by('name')
+
+ return render(request, 'grocery_app/index.html',{
+ 'grocery_list': grocery_list,
+ 'departments': departments
+ }
\ No newline at end of file
diff --git a/Code/zeke/django/grocery_folder/grocery_proj/__init__.py b/Code/zeke/django/grocery_folder/grocery_proj/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/grocery_folder/grocery_proj/asgi.py b/Code/zeke/django/grocery_folder/grocery_proj/asgi.py
new file mode 100644
index 00000000..9012ee82
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_proj/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for grocery_proj project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'grocery_proj.settings')
+
+application = get_asgi_application()
diff --git a/Code/zeke/django/grocery_folder/grocery_proj/settings.py b/Code/zeke/django/grocery_folder/grocery_proj/settings.py
new file mode 100644
index 00000000..58e255ee
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_proj/settings.py
@@ -0,0 +1,124 @@
+"""
+Django settings for grocery_proj project.
+
+Generated by 'django-admin startproject' using Django 4.0.3.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-nbs074wgr*#6^926c-t9gugwz36635j3&3oiw*m2use%6l5*_)'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'grocery_app'
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'grocery_proj.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'grocery_proj.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'America/Los_Angeles'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
diff --git a/Code/zeke/django/grocery_folder/grocery_proj/urls.py b/Code/zeke/django/grocery_folder/grocery_proj/urls.py
new file mode 100644
index 00000000..f8bf0c88
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_proj/urls.py
@@ -0,0 +1,23 @@
+"""grocery_proj URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+
+from django.contrib import admin
+from django.urls import path, include
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('grocery/', include('grocery_app.urls'))
+]
diff --git a/Code/zeke/django/grocery_folder/grocery_proj/wsgi.py b/Code/zeke/django/grocery_folder/grocery_proj/wsgi.py
new file mode 100644
index 00000000..567bce68
--- /dev/null
+++ b/Code/zeke/django/grocery_folder/grocery_proj/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for grocery_proj project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'grocery_proj.settings')
+
+application = get_wsgi_application()
diff --git a/Code/zeke/django/manage.py b/Code/zeke/django/manage.py
new file mode 100755
index 00000000..f97e4e6d
--- /dev/null
+++ b/Code/zeke/django/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', 'grocery_proj.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/Code/zeke/django/phonebook_folder/phonebook_proj/manage.py b/Code/zeke/django/phonebook_folder/phonebook_proj/manage.py
new file mode 100755
index 00000000..75f0d8b9
--- /dev/null
+++ b/Code/zeke/django/phonebook_folder/phonebook_proj/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', 'phonebook_proj.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/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/__init__.py b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/asgi.py b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/asgi.py
new file mode 100644
index 00000000..9226ab4b
--- /dev/null
+++ b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for phonebook_proj project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'phonebook_proj.settings')
+
+application = get_asgi_application()
diff --git a/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/settings.py b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/settings.py
new file mode 100644
index 00000000..8a48467f
--- /dev/null
+++ b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/settings.py
@@ -0,0 +1,123 @@
+"""
+Django settings for phonebook_proj project.
+
+Generated by 'django-admin startproject' using Django 4.0.3.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-0#e#u1kn4%4oxakdjh(j1lf2hyqk*woa2lx$tl(i78t^9pkf-a'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'phonebook_proj.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'phonebook_proj.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'UTC'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
diff --git a/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/urls.py b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/urls.py
new file mode 100644
index 00000000..6deb3f11
--- /dev/null
+++ b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/urls.py
@@ -0,0 +1,21 @@
+"""phonebook_proj URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+]
diff --git a/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/wsgi.py b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/wsgi.py
new file mode 100644
index 00000000..54e908f5
--- /dev/null
+++ b/Code/zeke/django/phonebook_folder/phonebook_proj/phonebook_proj/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for phonebook_proj project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'phonebook_proj.settings')
+
+application = get_wsgi_application()
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/manage.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/manage.py
new file mode 100755
index 00000000..baa69c35
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/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', 'rot_cipher.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/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/__init__.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/admin.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/admin.py
new file mode 100644
index 00000000..8c38f3f3
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/admin.py
@@ -0,0 +1,3 @@
+from django.contrib import admin
+
+# Register your models here.
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/apps.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/apps.py
new file mode 100644
index 00000000..85c7329e
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class RotAppConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'rot_app'
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/index.html b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/index.html
new file mode 100644
index 00000000..200fd2ab
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/index.html
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+ ROT
+
+
+
Welcome to ROT
+
+ {% csrf_token%}
+ name
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/migrations/__init__.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/models.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/models.py
new file mode 100644
index 00000000..71a83623
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/models.py
@@ -0,0 +1,3 @@
+from django.db import models
+
+# Create your models here.
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/tests.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/views.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/views.py
new file mode 100644
index 00000000..52ddbc12
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_app/views.py
@@ -0,0 +1,16 @@
+from django.shortcuts import render
+
+# Create your views here.
+def index(request):
+ return render(request, ' numphase_app/index.html')
+
+def index(request):
+ if request.method == 'GET':
+ return render(request, ' numphase_app/index.html')
+
+ elif request.method == 'POST':
+ print(request.POST['number'], 'find request data')
+
+ user = request.POST['number']
+ user_number = int(user)
+
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/__init__.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/asgi.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/asgi.py
new file mode 100644
index 00000000..709a2364
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for rot_cipher project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rot_cipher.settings')
+
+application = get_asgi_application()
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/settings.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/settings.py
new file mode 100644
index 00000000..96675307
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/settings.py
@@ -0,0 +1,124 @@
+"""
+Django settings for rot_cipher project.
+
+Generated by 'django-admin startproject' using Django 4.0.3.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-gd4z+c(es)edw@uc)nib+=%s6k7_!(-+ghks^l06lrkx50$!(l'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'rot_app'
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'rot_cipher.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'rot_cipher.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'America/Los_Angeles'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/urls.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/urls.py
new file mode 100644
index 00000000..63283080
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/urls.py
@@ -0,0 +1,27 @@
+"""rot_cipher URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path
+
+app_name='convertletter'
+urlpatterns = [
+ #manage 8000/convert/
+ path('', views.index, name='index'),
+
+ #manage 8000/convert/result
+ path('result/', views.result, name='result'),
+
+]
diff --git a/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/wsgi.py b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/wsgi.py
new file mode 100644
index 00000000..53fb3a9c
--- /dev/null
+++ b/Code/zeke/django/rot_cipher_lab1/rot_cipher/rot_cipher/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for rot_cipher project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'rot_cipher.settings')
+
+application = get_wsgi_application()
diff --git a/Code/zeke/django/todo_proj/manage.py b/Code/zeke/django/todo_proj/manage.py
new file mode 100755
index 00000000..6be564d2
--- /dev/null
+++ b/Code/zeke/django/todo_proj/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', 'todo_proj.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/Code/zeke/django/todo_proj/todo_app/__init__.py b/Code/zeke/django/todo_proj/todo_app/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/todo_proj/todo_app/admin.py b/Code/zeke/django/todo_proj/todo_app/admin.py
new file mode 100644
index 00000000..7e334fc7
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/admin.py
@@ -0,0 +1,6 @@
+from django.contrib import admin
+from .models import *
+
+# Register your models here.
+admin.site.register(TodoItem)
+admin.site.register(Priority)
\ No newline at end of file
diff --git a/Code/zeke/django/todo_proj/todo_app/apps.py b/Code/zeke/django/todo_proj/todo_app/apps.py
new file mode 100644
index 00000000..d8f1498d
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/apps.py
@@ -0,0 +1,6 @@
+from django.apps import AppConfig
+
+
+class TodoAppConfig(AppConfig):
+ default_auto_field = 'django.db.models.BigAutoField'
+ name = 'todo_app'
diff --git a/Code/zeke/django/todo_proj/todo_app/migrations/0001_initial.py b/Code/zeke/django/todo_proj/todo_app/migrations/0001_initial.py
new file mode 100644
index 00000000..a302326e
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/migrations/0001_initial.py
@@ -0,0 +1,31 @@
+# Generated by Django 4.0.3 on 2022-04-08 23:56
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ initial = True
+
+ dependencies = [
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='Priority',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('A', models.CharField(max_length=200)),
+ ],
+ ),
+ migrations.CreateModel(
+ name='TodoItem',
+ fields=[
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('text', models.CharField(max_length=200)),
+ ('date', models.DateTimeField(auto_now=True)),
+ ('priority', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='todo', to='todo_app.priority')),
+ ],
+ ),
+ ]
diff --git a/Code/zeke/django/todo_proj/todo_app/migrations/0002_remove_priority_a_priority_list_alter_todoitem_date.py b/Code/zeke/django/todo_proj/todo_app/migrations/0002_remove_priority_a_priority_list_alter_todoitem_date.py
new file mode 100644
index 00000000..58a79a1f
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/migrations/0002_remove_priority_a_priority_list_alter_todoitem_date.py
@@ -0,0 +1,27 @@
+# Generated by Django 4.0.3 on 2022-04-09 02:41
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('todo_app', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='priority',
+ name='A',
+ ),
+ migrations.AddField(
+ model_name='priority',
+ name='list',
+ field=models.CharField(choices=[('high', 'High'), ('medium', 'Meedium'), ('low', 'Low')], default='low', max_length=200),
+ ),
+ migrations.AlterField(
+ model_name='todoitem',
+ name='date',
+ field=models.DateTimeField(auto_now_add=True),
+ ),
+ ]
diff --git a/Code/zeke/django/todo_proj/todo_app/migrations/__init__.py b/Code/zeke/django/todo_proj/todo_app/migrations/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/todo_proj/todo_app/models.py b/Code/zeke/django/todo_proj/todo_app/models.py
new file mode 100644
index 00000000..6027bb9a
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/models.py
@@ -0,0 +1,23 @@
+from django.db import models
+
+
+# Create your models here.
+PRIORITIES = [
+ ("high", "High"),
+ ("medium", "Medium"),
+ ("low","Low"),
+]
+class Priority(models.Model):
+ list = models.CharField(max_length=200, choices=PRIORITIES, default="low")
+
+
+ def __str__(self):
+ return f"{self.list}"
+
+class TodoItem(models.Model):
+ text= models.CharField(max_length=200)
+ priority = models.ForeignKey(Priority, on_delete=models.CASCADE, related_name="todo")
+ date=models.DateTimeField(auto_now_add=True)
+
+ def __str__(self):
+ return f"{self.text}"
\ No newline at end of file
diff --git a/Code/zeke/django/todo_proj/todo_app/templates/todo_app/mytemplate.html b/Code/zeke/django/todo_proj/todo_app/templates/todo_app/mytemplate.html
new file mode 100644
index 00000000..bb322c6c
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/templates/todo_app/mytemplate.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
Welcome
+ {% for d in data %}
+
{{ d }}
+
+
+
+ {% comment %}
+
{{data}}
+
{{d.text}}
+ {% endcomment %}
+ {% endfor %}
+
+
+
+
\ No newline at end of file
diff --git a/Code/zeke/django/todo_proj/todo_app/tests.py b/Code/zeke/django/todo_proj/todo_app/tests.py
new file mode 100644
index 00000000..7ce503c2
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/tests.py
@@ -0,0 +1,3 @@
+from django.test import TestCase
+
+# Create your tests here.
diff --git a/Code/zeke/django/todo_proj/todo_app/urls.py b/Code/zeke/django/todo_proj/todo_app/urls.py
new file mode 100644
index 00000000..a1d25d95
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/urls.py
@@ -0,0 +1,9 @@
+from django.urls import path
+from . import views
+
+
+app_name='todo_app'
+urlpatterns = [
+ path('mytodo/', views.mytodo, name='mytodo')
+
+]
diff --git a/Code/zeke/django/todo_proj/todo_app/views.py b/Code/zeke/django/todo_proj/todo_app/views.py
new file mode 100644
index 00000000..91b971a5
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_app/views.py
@@ -0,0 +1,18 @@
+from django.shortcuts import render
+from django.http import HttpResponse
+from .models import *
+
+# Create your views here.
+
+def mytodo(request):
+ data = TodoItem.objects.all()
+ context ={
+ 'message': 'TO DO LIST ',
+ 'data': data
+
+
+
+ }
+ return render(request, 'todo_app/mytemplate.html', context)
+
+
diff --git a/Code/zeke/django/todo_proj/todo_proj/__init__.py b/Code/zeke/django/todo_proj/todo_proj/__init__.py
new file mode 100644
index 00000000..e69de29b
diff --git a/Code/zeke/django/todo_proj/todo_proj/asgi.py b/Code/zeke/django/todo_proj/todo_proj/asgi.py
new file mode 100644
index 00000000..5a0fd4de
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_proj/asgi.py
@@ -0,0 +1,16 @@
+"""
+ASGI config for todo_proj project.
+
+It exposes the ASGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/
+"""
+
+import os
+
+from django.core.asgi import get_asgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo_proj.settings')
+
+application = get_asgi_application()
diff --git a/Code/zeke/django/todo_proj/todo_proj/settings.py b/Code/zeke/django/todo_proj/todo_proj/settings.py
new file mode 100644
index 00000000..8a9cccd7
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_proj/settings.py
@@ -0,0 +1,124 @@
+"""
+Django settings for todo_proj project.
+
+Generated by 'django-admin startproject' using Django 4.0.3.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/topics/settings/
+
+For the full list of settings and their values, see
+https://docs.djangoproject.com/en/4.0/ref/settings/
+"""
+
+from pathlib import Path
+
+# Build paths inside the project like this: BASE_DIR / 'subdir'.
+BASE_DIR = Path(__file__).resolve().parent.parent
+
+
+# Quick-start development settings - unsuitable for production
+# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/
+
+# SECURITY WARNING: keep the secret key used in production secret!
+SECRET_KEY = 'django-insecure-!*h^kj-z_j-zv+egfony&)1*nqw#+*n@&l!al*qh)wn-mxyptb'
+
+# SECURITY WARNING: don't run with debug turned on in production!
+DEBUG = True
+
+ALLOWED_HOSTS = []
+
+
+# Application definition
+
+INSTALLED_APPS = [
+ 'django.contrib.admin',
+ 'django.contrib.auth',
+ 'django.contrib.contenttypes',
+ 'django.contrib.sessions',
+ 'django.contrib.messages',
+ 'django.contrib.staticfiles',
+ 'todo_app'
+]
+
+MIDDLEWARE = [
+ 'django.middleware.security.SecurityMiddleware',
+ 'django.contrib.sessions.middleware.SessionMiddleware',
+ 'django.middleware.common.CommonMiddleware',
+ 'django.middleware.csrf.CsrfViewMiddleware',
+ 'django.contrib.auth.middleware.AuthenticationMiddleware',
+ 'django.contrib.messages.middleware.MessageMiddleware',
+ 'django.middleware.clickjacking.XFrameOptionsMiddleware',
+]
+
+ROOT_URLCONF = 'todo_proj.urls'
+
+TEMPLATES = [
+ {
+ 'BACKEND': 'django.template.backends.django.DjangoTemplates',
+ 'DIRS': [],
+ 'APP_DIRS': True,
+ 'OPTIONS': {
+ 'context_processors': [
+ 'django.template.context_processors.debug',
+ 'django.template.context_processors.request',
+ 'django.contrib.auth.context_processors.auth',
+ 'django.contrib.messages.context_processors.messages',
+ ],
+ },
+ },
+]
+
+WSGI_APPLICATION = 'todo_proj.wsgi.application'
+
+
+# Database
+# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
+
+DATABASES = {
+ 'default': {
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'NAME': BASE_DIR / 'db.sqlite3',
+ }
+}
+
+
+# Password validation
+# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators
+
+AUTH_PASSWORD_VALIDATORS = [
+ {
+ 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
+ },
+ {
+ 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
+ },
+]
+
+
+# Internationalization
+# https://docs.djangoproject.com/en/4.0/topics/i18n/
+
+LANGUAGE_CODE = 'en-us'
+
+TIME_ZONE = 'America/Los_Angeles'
+
+USE_I18N = True
+
+USE_TZ = True
+
+
+# Static files (CSS, JavaScript, Images)
+# https://docs.djangoproject.com/en/4.0/howto/static-files/
+
+STATIC_URL = 'static/'
+
+# Default primary key field type
+# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field
+
+DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
diff --git a/Code/zeke/django/todo_proj/todo_proj/urls.py b/Code/zeke/django/todo_proj/todo_proj/urls.py
new file mode 100644
index 00000000..c0eb0a23
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_proj/urls.py
@@ -0,0 +1,22 @@
+"""todo_proj URL Configuration
+
+The `urlpatterns` list routes URLs to views. For more information please see:
+ https://docs.djangoproject.com/en/4.0/topics/http/urls/
+Examples:
+Function views
+ 1. Add an import: from my_app import views
+ 2. Add a URL to urlpatterns: path('', views.home, name='home')
+Class-based views
+ 1. Add an import: from other_app.views import Home
+ 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
+Including another URLconf
+ 1. Import the include() function: from django.urls import include, path
+ 2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
+"""
+from django.contrib import admin
+from django.urls import path, include
+
+urlpatterns = [
+ path('admin/', admin.site.urls),
+ path('', include('todo_app.urls')),
+]
diff --git a/Code/zeke/django/todo_proj/todo_proj/wsgi.py b/Code/zeke/django/todo_proj/todo_proj/wsgi.py
new file mode 100644
index 00000000..5f96a37b
--- /dev/null
+++ b/Code/zeke/django/todo_proj/todo_proj/wsgi.py
@@ -0,0 +1,16 @@
+"""
+WSGI config for todo_proj project.
+
+It exposes the WSGI callable as a module-level variable named ``application``.
+
+For more information on this file, see
+https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/
+"""
+
+import os
+
+from django.core.wsgi import get_wsgi_application
+
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'todo_proj.settings')
+
+application = get_wsgi_application()
diff --git a/Code/zeke/html_css_flask/Flask_9_Folder/10_rock_paper/app.py b/Code/zeke/html_css_flask/Flask_9_Folder/10_rock_paper/app.py
new file mode 100644
index 00000000..fd476177
--- /dev/null
+++ b/Code/zeke/html_css_flask/Flask_9_Folder/10_rock_paper/app.py
@@ -0,0 +1,7 @@
+from flask import Flask
+
+app = Flask (__name__)
+
+@app.route('/')
+def index():
+ return 'Welcome to RPS'
\ No newline at end of file
diff --git a/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/app.py b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/app.py
new file mode 100644
index 00000000..b6c64098
--- /dev/null
+++ b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/app.py
@@ -0,0 +1,26 @@
+from flask import Flask, render_template, request
+
+app = Flask(__name__)
+
+#localhost:5000/
+@app.route('/')
+def index():
+ name="Ryan"
+ return render_template('index.html', name=name)
+
+@app.route('/about')
+def about():
+ return render_template('about.html')
+
+@app.route('/contact')
+def contact():
+ return render_template ('contact.html')
+
+@app.route('/check-grade/')
+def check_grade(grade):
+ return render_template ('check-grade.html', grade=grade)
+
+@app.route('/llama', methods=['POST'])
+def display_name():
+ print(request.form)
+ return render_template('contact.html')
\ No newline at end of file
diff --git a/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/static/style.css b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/static/style.css
new file mode 100644
index 00000000..442dffa0
--- /dev/null
+++ b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/static/style.css
@@ -0,0 +1,4 @@
+body {
+ text-align: center;
+ color: gray;
+}
\ No newline at end of file
diff --git a/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/about.html b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/about.html
new file mode 100644
index 00000000..4833097a
--- /dev/null
+++ b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/about.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ About
+
+
+
About page
+ Home
+ Contact
+
+
\ No newline at end of file
diff --git a/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/check-grade.html b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/check-grade.html
new file mode 100644
index 00000000..23555a6b
--- /dev/null
+++ b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/check-grade.html
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+ Grade Checker
+
+
+
Grade Checker
+ {% if grade >= 90 %}
+
You got an A
+ {% elif grade >= 80 %}
+
You got a B
+ {% elif grade >=70 %}
+
You got a C
+ {% elif grade >= 60 %}
+
You got a D
+ {% else%}
+
You got an F
+
+ {% endif %}
+
+
\ No newline at end of file
diff --git a/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/contact.html b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/contact.html
new file mode 100644
index 00000000..06bbd209
--- /dev/null
+++ b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/contact.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+ Contact
+
+
+
This is my contact page!
+ Home
+ About
+
+
\ No newline at end of file
diff --git a/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/index.html b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/index.html
new file mode 100644
index 00000000..8662ce2a
--- /dev/null
+++ b/Code/zeke/html_css_flask/Flask_9_Folder/rot_cipher_flask/templates/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ ROT_FLASK
+
+
+
+
Welcome to my ROT app
+
Hello {{ name }}
+ About
+ Contact
+
+
+
+
\ No newline at end of file
diff --git a/Code/zeke/html_css_flask/html_folders/zeke_lab1/A.Wells Photo.jpg b/Code/zeke/html_css_flask/html_folders/zeke_lab1/A.Wells Photo.jpg
new file mode 100644
index 00000000..123c2063
Binary files /dev/null and b/Code/zeke/html_css_flask/html_folders/zeke_lab1/A.Wells Photo.jpg differ
diff --git a/Code/zeke/html_css_flask/html_folders/zeke_lab1/Emmanuel-Temple.jpeg b/Code/zeke/html_css_flask/html_folders/zeke_lab1/Emmanuel-Temple.jpeg
new file mode 100644
index 00000000..d80b582c
Binary files /dev/null and b/Code/zeke/html_css_flask/html_folders/zeke_lab1/Emmanuel-Temple.jpeg differ
diff --git a/Code/zeke/html_css_flask/html_folders/zeke_lab1/index.html b/Code/zeke/html_css_flask/html_folders/zeke_lab1/index.html
new file mode 100644
index 00000000..8675a1be
--- /dev/null
+++ b/Code/zeke/html_css_flask/html_folders/zeke_lab1/index.html
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+ Adolph Wells Bio
+
+
+
+
+
+
+
+
+
+
Adolph A. Wells
+
+
+
+
+
September 29, 1938 - March 14, 2020
+
+
+ "Turn right and go straight"
+
+
About:
+
+
Born and reared in the state of Mississippi, Bishop Wells attended Seattle Central College and Seattle University in 1957 and 1958.
+ After retiring from the US Postal Service, he pursued the path of theology.
+ He is a graduate of the A.L. Hardy Academy of Theology, with earned Masters of Divinity (1988), Doctorate of Ministry (1995) and Doctorate of Theology (1995) degrees.
+ In addition, in 1995, he received an honorary Doctorate of Divinity Degree from the George Fox Evangelical Seminary where he was also the baccalaureate speaker 1987.
+ In 1963, he was ordained to the Ministry by Bishop E.F. Morris in Seattle, Washington.
+ In 1965, he founded the Emmanuel Temple Church; in 1970, he founded the Full Gospel Pentecostal Association and in 1971, he was consummated to the Bishopric.
+
Lorem ipsum dolor sit amet consectetur adipisicing elit.
+ Eligendi sequi soluta aut praesentium placeat voluptas tempore optio omnis!
+ Assumenda, accusantium dolorem cupiditate
+ sed distinctio consequuntur excepturi debitis sint ullam temporibus quam
+ ratione molestias incidunt vero expedita odio commodi.
+ Autem omnis vitae velit eaque neque. Quo, alias. Iure culpa alias labore?
+
+
+
About
+
+
Lorem ipsum dolor sit amet consectetur adipisicing elit.
+ Eligendi sequi soluta aut praesentium placeat voluptas tempore optio omnis!
+ Assumenda, accusantium dolorem cupiditate
+ sed distinctio consequuntur excepturi debitis sint ullam temporibus quam
+ ratione molestias incidunt vero expedita odio commodi.
+ Autem omnis vitae velit eaque neque. Quo, alias. Iure culpa alias labore?
+
+
+
Blogs
+
Lorem ipsum dolor sit amet consectetur adipisicing elit.
+ Eligendi sequi soluta aut praesentium placeat voluptas tempore optio omnis!
+ Assumenda, accusantium dolorem cupiditate
+ sed distinctio consequuntur excepturi debitis sint ullam temporibus quam
+ ratione molestias incidunt vero expedita odio commodi.
+ Autem omnis vitae velit eaque neque. Quo, alias. Iure culpa alias labore?
+
+
+
Lorem ipsum dolor sit amet consectetur adipisicing elit.
+ Eligendi sequi soluta aut praesentium placeat voluptas tempore optio omnis!
+ Assumenda, accusantium dolorem cupiditate
+ sed distinctio consequuntur excepturi debitis sint ullam temporibus quam
+ ratione molestias incidunt vero expedita odio commodi.
+ Autem omnis vitae velit eaque neque. Quo, alias. Iure culpa alias labore?
+
+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Assumenda ut fugiat cupiditate aliquam aliquid voluptates, explicabo ab inventore sint! Dolore quasi molestias accusantium itaque odio cumque libero deserunt explicabo recusandae.
+
+
+
OUR MISSION
+
+
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Numquam facilis omnis magnam fugiat architecto tempore ipsum corporis, libero alias at nemo, dolor reprehenderit cum ea placeat? Ducimus iusto eveniet nisi?
+
+
+
HOW TO JOIN
+
+
Lorem ipsum dolor sit, amet consectetur adipisicing elit. Corrupti asperiores ipsa doloremque, dolorem inventore at animi nostrum porro commodi maxime voluptatum perspiciatis sunt, recusandae aspernatur ad rem temporibus dignissimos. Minima?
+
+